私は、ウィンドウの右下隅にボタンを配置したいプログラムを作成しています。私はGetClientRectを使って、ウィンドウの上下左右を取得しています。上部と左は正常に動作していますが、下部と右が機能していません。私のコードは次のとおりです。In GetClientRect rect.bottom rect.right not correct
WNDCLASSEX Program;
/*Class declaration*/
hWndMain = CreateWindowEx (WS_EX_APPWINDOW,
"Program",
"Program",
WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX,
GetSystemMetrics(SM_CXSCREEN)/2-210,
GetSystemMetrics(SM_CYSCREEN)/2-135,
420,270,
HWND_DESKTOP,
NULL,hInstance,NULL);
//Window Procedure
WM_CREATE:
{
RECT MaxSize;
GetClientRect(hWndMain,&MaxSize);
/*Menu declaration using CreateMenu, AppendMenu etc*/
HWND hCalculate = CreateWindowEx(0,WC_BUTTON,
"Calculate",
WS_VISIBLE | WS_CHILD | WS_TABSTOP | BS_DEFPUSHBUTTON | 0x00000001,
MaxSize.right-156,MaxSize.bottom-51,140,30,
hWnd,(HMENU)IDC_BUTTON1,
GetModuleHandle(NULL), 0);
}
コードをコンパイルしてプログラムを実行すると、ボタンが表示されません。助けてください。
hWndMain = CreateWindowEx (WS_EX_APPWINDOW,
これはWndProcメソッドである間:それはあなたのメインラインコードにありますようにhWndMainへ
"うまくいかない"とは何ですか? 'GetCLientRect'関数を呼び出した後の' MaxSize'の値は何ですか? –