当前位置:编程学习 > C/C++ >>

C++编程 windows窗口程序和矩阵类程序

题目一:设计一个windows程序使窗体总在最前面,并且保持窗体颜色动态变化。 这个是中等难度的,嘿嘿,高手帮我解决下吧!
题目二:设计一个矩阵类,可以实现构造矩阵,设置矩阵元素,提取元素,提取行,列信息,可以进行矩阵加,减,乘,转置,求逆运算,并设计一个GUI,对该矩阵类的功能进行测试。 这个是较难的,如果不能全部设计出,部分程序也行,谢谢高手了
以上两题,做出一道也没问题
我的邮箱:490892191@qq.com
高手:谢谢了O(∩_∩)O~
答案:就会第一题,第二题的GUI没有研究,以下是C++程序代码:
#include <windows.h>

HDC hdc;
PAINTSTRUCT ps;
RECT rect;

LRESULT CALLBACK WndProc (HWND,


UINT,


WPARAM,


LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance,

HINSTANCE hPrevInstance,





PSTR szCmdLine,

int nCmdShow)

{

static TCHAR szAppName []="applicaiton";
HWND hwnd;
WNDCLASS wndcls;
MSG msg;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);
wndcls.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WndProc;
wndcls.lpszMenuName=NULL;
wndcls.lpszClassName=szAppName;
wndcls.style=CS_HREDRAW|CS_VREDRAW;
if(!RegisterClass(&wndcls))
{
MessageBox(NULL,"Error","error",MB_ICONERROR);
return 0;
}
hwnd=CreateWindowEx(WS_EX_TOPMOST,
szAppName,
"windows窗口程序Demo",
WS_OVERLAPPEDWINDOW,
0,0,
400,300,
NULL,NULL,
hInstance,
NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);

DWORD start_time;
while(true)
{

hdc=GetDC(hwnd);
start_time=GetTickCount();

if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))

{ if(msg.message==WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
GetClientRect (hwnd, &rect) ;

FillRect(hdc,&rect,CreateSolidBrush(RGB(rand()%255,rand()%255,rand()%255)));
while(GetTickCount()-start_time<250)
{}

ReleaseDC(hwnd,hdc);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wapram, LPARAM lapram)
{
switch(msg)
{

case WM_PAINT:
{
hdc = BeginPaint (hwnd, &ps) ;




GetClientRect (hwnd, &rect) ;

FillRect(hdc,&rect,CreateSolidBrush(RGB(rand()%255,rand()%255,rand()%255)));
EndPaint (hwnd, &ps) ;

return 0;

}
break;
case WM_DESTROY:

{
PostQuitMessage (0) ;

return 0 ;
}
break;

}

return DefWindowProc (hwnd, msg, wapram, lapram) ;

}
注意:最后在菜单栏选择工程->设置->链接,或者快捷键 alt+F7,调出对话框,将工程选项的subsystem:console的console改为windows,嘿嘿!!!
搞定,运行即可。哈哈
由于这个程序使用的是GDI函数直接调用,没有优化,比较占资源,刚开始反映可能会有些迟钝。

上一个:[C++的]学生成绩薄设计
下一个:C和C++语言有什么区别?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,