b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

movewindow_movewindow怎么用_movewindow无效

电脑杂谈  发布时间:2017-01-09 16:00:34  来源:网络整理

movewindow_movewindow无效_movewindow怎么用

movewindow

为什么无法用MoveWindow()改变窗口大小?

我编写一个程序,主要是建立一个主窗口(hMainWnd),再在主窗口的窗户区建立一个子窗口(hDocWnd)。可是当我希望子窗口随着主窗口的大小变化而变化的时候,就在主窗口过程的WM_SIZE消息处理中,加了一条语句,用MoveWindow()来改变子窗口的大小。movewindow可是奇怪的很,竟然不起作用。不管如何修改,这个MoveWindow()函数就是不起作用。子窗口还是原来的大小。

我不得已,在WM_SIZE消息中插了一条语句,发现每当主窗口大小改变时,这条语句是执行的,也就是说MoveWindow语句还是执行了,但就是不起作用。

我又试着把这条MoveWindow语句插入到WM_CREATE消息处理流程中(就是下列代码中“************”的上一行),直接放在建立子窗口的语句后面,也就是说子窗口刚建立,立即用MoveWindow()来改变它的大小。发现这回起作用了。

奇怪了,为什么放在WM_CREATE消息处理流程中,就起作用,而放在WM_SIZE消息处理流程中, 就不起作用呢?

请高手指点!

附代码:(环境为VC++6.0)

#include <Windows.h>

LRESULT CALLBACK MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

LRESULT CALLBACK DocWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

HINSTANCE hIn;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT("editc");

static TCHAR szMainWnd[] = TEXT("MainWnd");

HWND hMainWnd;

MSG msg;

WNDCLASSEX wndclas;

hIn=hInstance;

wndclas.cbSize = sizeof (WNDCLASSEX);

wndclas.style = CS_HREDRAW | CS_VREDRAW;

wndclas.lpfnWndProc = MainWndProc;

wndclas.cbClsExtra = 0;

wndclas.cbWndExtra = 0;

wndclas.hInstance = hInstance;

wndclas.hIcon = LoadIcon(NULL, IDI_APPLICATION);

wndclas.hCursor = LoadCursor(NULL, IDC_ARROW);

wndclas.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);

wndclas.lpszMenuName = NULL;

wndclas.lpszClassName = szMainWnd;

wndclas.hIconSm =0;

if (!RegisterClassEx(&wndclas))

{

MessageBox(NULL, TEXT("程序需要Windows NT!!"), szAppName, MB_ICONERROR);


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25210-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...