C++涓璭nabledocking鏂规硶鏈変粈涔堢敤
鍦–++涓紝enabledocking鏂规硶涓昏鐢ㄤ簬鍚敤鎴栫鐢ㄧ獥鍙g殑鍋滈潬鍔熻兘銆傚綋涓€涓獥鍙h鍚敤鍋滈潬鍔熻兘鍚庯紝瀹冨彲浠ヨ鐢ㄦ埛鎷栧姩鍒板睆骞曠殑杈圭紭鎴栧叾浠栧凡鍋滈潬鐨勭獥鍙d笂锛屼互渚垮湪灞忓箷涓婅嚜鍔ㄥ仠闈犮€傝繖瀵逛簬澶氱獥鍙e簲鐢ㄧ▼搴忓拰鐢ㄦ埛鐣岄潰鐨勫竷灞€鏈夊緢澶х殑甯姪銆?/p>
enabledocking鏂规硶閫氬父鐢ㄤ簬绐楀彛绫荤殑瀹氫箟锛屽苟涓旀帴鍙椾竴涓竷灏斿€煎弬鏁帮紝鐢ㄤ簬鎸囩ず鏄惁鍚敤鍋滈潬鍔熻兘銆傚綋鍙傛暟涓簍rue鏃讹紝绐楀彛鍚敤鍋滈潬鍔熻兘锛涘綋鍙傛暟涓篺alse鏃讹紝绐楀彛绂佺敤鍋滈潬鍔熻兘銆?/p>
浠ヤ笅鏄竴涓ず渚嬩唬鐮侊紝婕旂ず浜嗗浣曞湪C++涓娇鐢╡nabledocking鏂规硶锛?/p>
#include <windows.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CREATE:
// 鍚敤鍋滈潬鍔熻兘
EnableDocking(hWnd, TRUE);
break;
// 鍏朵粬娑堟伅澶勭悊...
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
// 鍒涘缓绐楀彛绫?/span>
WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName = "DockingWindow";
RegisterClass(&wc);
// 鍒涘缓绐楀彛瀹炰緥
HWND hWnd = CreateWindow("DockingWindow", "Docking Window", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL);
// 鏄剧ず绐楀彛
ShowWindow(hWnd, nShowCmd);
UpdateWindow(hWnd);
// 娑堟伅寰幆
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
}
鍦ㄤ笂闈㈢殑绀轰緥涓紝鎴戜滑鍦ㄧ獥鍙g被鐨刉M_CREATE娑堟伅澶勭悊涓皟鐢ㄤ簡EnableDocking鍑芥暟锛屽皢鍋滈潬鍔熻兘鍚敤銆傜劧鍚庯紝鎴戜滑鍒涘缓浜嗕竴涓悕涓?quot;DockingWindow"鐨勭獥鍙o紝骞舵樉绀哄嚭鏉ャ€?/p>
鍚敤鍋滈潬鍔熻兘鍚庯紝鐢ㄦ埛鍙互灏嗚绐楀彛鎷栧姩鍒板睆骞曠殑杈圭紭鎴栧叾浠栧凡鍋滈潬鐨勭獥鍙d笂锛屽疄鐜扮獥鍙g殑鍋滈潬鏁堟灉銆傝繖瀵逛簬瀹炵幇澶氱獥鍙e簲鐢ㄧ▼搴忓拰鐢ㄦ埛鐣岄潰鐨勭伒娲诲竷灞€闈炲父鏈夌敤銆?/p>