哪位高手能帮小弟我把上面程序中的窗体,变成无边框窗体
谁能帮我把下面程序中的窗体,变成无边框窗体?
我创建一个C++的空项目,即Empty工程,
然后,添加了一个main.cpp,整个工程,只包含一个代码文件,就是main.cpp,内容如下,可编译并运行:
谁能帮我把下面程序中的窗体,变成无边框窗体?
------解决方案--------------------
WS_OVERLAPPEDWINDOW
的定义为:
#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | \
WS_CAPTION | \
WS_SYSMENU | \
WS_THICKFRAME | \
WS_MINIMIZEBOX | \
WS_MAXIMIZEBOX)
看到了么?
------解决方案--------------------
WS_POPUP
我创建一个C++的空项目,即Empty工程,
然后,添加了一个main.cpp,整个工程,只包含一个代码文件,就是main.cpp,内容如下,可编译并运行:
谁能帮我把下面程序中的窗体,变成无边框窗体?
- C/C++ code
#include<windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow) { MSG msg; HWND hWnd; WNDCLASS wc; char lpszClassName[]="Window"; char lpszTitle[]="ABCDEFG"; 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_IBEAM); wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName=NULL; wc.lpszClassName=lpszClassName; if(!RegisterClass(&wc)) { MessageBeep(0); return (FALSE); } hWnd=CreateWindow ( lpszClassName, lpszTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); if(!hWnd) return (FALSE); ShowWindow(hWnd,nCmdShow); UpdateWindow(hWnd); while (GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (msg.wParam); } LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { PAINTSTRUCT PtStr; static long nXChar,nYChar; TEXTMETRIC tm; HDC hDC; switch(uMsg) { case WM_CREATE: hDC=GetDC(hWnd); GetTextMetrics(hDC,&tm); nXChar=tm.tmAveCharWidth; nYChar=tm.tmHeight+tm.tmExternalLeading; ReleaseDC(hWnd,hDC); return 0; case WM_PAINT: hDC=BeginPaint(hWnd,&PtStr); SetTextColor(hDC,RGB(255,0,0)); TextOut(hDC,nXChar+300,nYChar+100,"Hello!!!!!world!!!!!",20); SetWindowPos( hWnd,HWND_TOPMOST, 100, 100, 600, 600,SWP_NOACTIVATE); EndPaint(hWnd,&PtStr); return 0; case WM_DESTROY: PostQuitMessage(0); default: return DefWindowProc(hWnd,uMsg,wParam,lParam); } return(0); }
------解决方案--------------------
WS_OVERLAPPEDWINDOW
的定义为:
#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | \
WS_CAPTION | \
WS_SYSMENU | \
WS_THICKFRAME | \
WS_MINIMIZEBOX | \
WS_MAXIMIZEBOX)
看到了么?
------解决方案--------------------
WS_POPUP