私はVisual C++(Win32 API)でアプリケーションを持っています。私のアプリケーションでは、メインウィンドウのボーダーは古いウィンドウで表示されます。 wndWc.styleの値をWS_OVERLAPPED、WS_POPUP、およびWinUser.hで与えられているその他の値に変更しようとしましたが、メインウィンドウの外観に変更はありませんでした。すべてのポップアップウィンドウはWindows 7スタイルで表示されます整流することができる。この点についての助力は高く評価されます。メインウィンドウとポップアップウィンドウの両方の画像を添付しました。 Visual C++ Win32 APIのアプリケーションメインウィンドウの境界線のスタイルを変更するには
コード:
// our window class
WNDCLASS wndWc;
// ---------------------------------------------------------
// fill window class members
// ---------------------------------------------------------
wndWc.style = CS_GLOBALCLASS;
wndWc.lpfnWndProc = (WNDPROC) WndProc;
wndWc.cbClsExtra = 0;
wndWc.cbWndExtra = 0;
wndWc.hInstance = GetModuleHandle(NULL);
wndWc.hIcon = NULL;
wndWc.hCursor = LoadCursor(0, IDC_ARROW);
wndWc.hbrBackground = (HBRUSH)GetStockObject(0);
wndWc.lpszMenuName = NULL;
wndWc.lpszClassName = "XYZ";
// register class
if (!RegisterClass(&wndWc)) return false;
// ---------------------------------------------------------
// get actual screen resolution
int iSw = (WORD)GetSystemMetrics(SM_CXSCREEN); // height
int iSh = (WORD)GetSystemMetrics(SM_CYSCREEN); // height
// make a rectangle on the center of the screen
RECT rc = {(iSw - iWidth)/2, (iSh - iHeight)/2, width, height};
// create the window. the spaces on the window title
// are just to make sure this will be visible when the region
// is active. just run the app and you'll understand. =)
hWnd = CreateWindow("XYZ", "XYZ",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT, width,height,
NULL, NULL, GetModuleHandle(NULL), NULL);
コードを投稿するのがベストですが、助けになる方法はわかりません。 –
「古いウィンドウスタイル」とはどういう意味ですか?たぶん、スクリーンショットをどこかに置くことがあります。正確に何がうまくいかないかによっていくつかの異なる意味があります。例えばそれはWin95のウィンドウの境界線、またはVista/Win7の境界線のように見えますが、ガラスはありませんか?または、他の何か? –
参考のために画像を添付しました。 –