C语言代码片段

       

//窗口居中

POINT Center(int width,int height)

{

    POINT pt;

    int screen_width;

    int screen_height;

    screen_width = GetSystemMetrics(SM_CXSCREEN);

    screen_height = GetSystemMetrics(SM_CYSCREEN);

    pt.x = (screen_width-width)/2;

    pt.y = (screen_height-height)/2;

    return pt;

}

     

//主窗口样式

WS_OVERLAPPEDWINDOW

默认样式,包含以下所有样式

WS_OVERLAPPED

   

WS_CAPTION

是否包含标题栏

WS_SYSMENU

是否包含系统菜单

WS_THICKFRAME

窗口是否可以改变大小

WS_MINIMIZEBOX

是否有最小化按钮

WS_MAXIMIZEBOX

是否有最大化按钮

     

//vs资源编辑器中编辑对话框时右下方显示的窗口尺寸,与窗口实际大小之间的转换关系

//字体为8号

//长 1 DLU = 1.50

//宽 1 DLU = 1.62

DLU指的是 对话框的逻辑单位,相对应的就是实际显示的单位

   

//如何精确的设置窗口的客户区大小

//使用AdjustWindowRect

HWND hWnd;

POINT win_pos;

RECT rt;

   

hInst = hInstance; // 将实例句柄存储在全局变量中

SetRect(&rt,0,0,WIN_WIDTH,WIN_HEIGHT);

AdjustWindowRect(&rt,

        WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,

        TRUE);

win_pos = Center(rt.right-rt.left,rt.bottom-rt.top);

   

hWnd = CreateWindow(szWindowClass, szTitle,

     WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,

     win_pos.x, win_pos.y, rt.right-rt.left, rt.bottom-rt.top,

     NULL,

     NULL,

     hInstance,

     NULL);

   

//如何使用资源编辑器直接编辑主窗口

//可以使用资源编辑器创建一个子窗口来代替原先的主窗口

//主窗口窗口过程函数这样写

case WM_CREATE:

        hdlgMain = CreateDialog(hInst,MAKEINTRESOURCE(IDD_DIALOGMAIN),hWnd,MainFace);

        break;

//资源编辑器的配置

posted @ 2019-11-15 22:46  jawide  阅读(633)  评论(0编辑  收藏  举报