moveWindow函数用法详解

moveWindow()函数用于改变窗口的位置和尺寸

格式如下:

BOOL moveWindow( const string& winname,int x, int y, int Width, int Height,BOOL bRepaint = TRUE);

参数说明:

第一个参数:窗口名字

第二个参数x和第三个参数y:表示窗口左上角的坐标

第四个参数:窗口的宽度

第五个参数:窗口的高度

第六个参数:bRepaint表示是否立即重绘。为true时系统会立即发送WM_PAINT到窗口程序(会调用UpdateWindow()函数),为false时不会发生任何类型的重绘操作。


下边用例子来直观展示设置的效果:

有两个窗口显示图:WINDOW_NAME1和WINDOW_NAME2,窗口的宽度和高度都为WINDOW_WIDTH

看第一种情况的效果:WINDOW_NAME1设置为(0, 200),WINDOW_NAME1设置为(WINDOW_WIDTH, 200):

 imshow(WINDOW_NAME1, atomImage);
 moveWindow(WINDOW_NAME1, 0, 200);
 imshow(WINDOW_NAME2, rookImage);
 moveWindow(WINDOW_NAME2, WINDOW_WIDTH, 200);

执行效果为(即两幅图是紧贴着的,纵坐标都为200,所以是平齐的):


看第二种情况的效果:WINDOW_NAME1设置为(0, 200),WINDOW_NAME1设置为(WINDOW_WIDTH+100, 200):

    imshow(WINDOW_NAME1, atomImage);
    moveWindow(WINDOW_NAME1, 0, 200);
    imshow(WINDOW_NAME2, rookImage);
    moveWindow(WINDOW_NAME2, WINDOW_WIDTH+100, 200);

指向效果为(即两幅图横向有一个间隔,距离100,红色方框表示,纵坐标相同,所以是齐的。): 


 看第二种情况的效果:WINDOW_NAME1设置为(0, 200),WINDOW_NAME1设置为(WINDOW_WIDTH+100, 100):

    imshow(WINDOW_NAME1, atomImage);
    moveWindow(WINDOW_NAME1, 0, 200);
    imshow(WINDOW_NAME2, rookImage);
    moveWindow(WINDOW_NAME2, WINDOW_WIDTH+100, 100);

 执行效果(由于两幅图的横纵设置都不同,所以在横坐标和纵坐标都有一个间隔,红色方框所示):

猜你喜欢

转载自blog.csdn.net/Sophia_11/article/details/84557602
今日推荐