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);

 

猜你喜欢

转载自www.cnblogs.com/jawide/p/11869995.html