一、如何在屏幕上画一个图形对象
二、如何控制图形的位置及大小
三、如何控制图形的颜色、线型或填充等属性
四、如何定义一个图形的内存数据
用VC的MFC编
有关C图形界面编程的入门问题
答案:2 悬赏:50 手机版
解决时间 2021-01-29 08:12
- 提问者网友:留有余香
- 2021-01-28 19:52
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-01-28 21:00
你的问题比较专业,我也不算大牛级别的,这里说说我的回答:
1. 画图形现在很少凭空画了,现在通常使用资源文件配置图形界面。
win32的调用语句是这样的(资源文件IDD_DIALOG):
nResult = DialogBoxParamW (hInstance, MAKEINTRESOURCEW (IDD_DIALOG), NULL, (DLGPROC) MyProc, (LPARAM) lpszCommandLine);
MFC是这样的:
// 创建主窗口,程序退出时CDlgMainFrame会自动释放LPCTSTR lpszClassName=AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW,
::LoadCursor(NULL,MAKEINTRESOURCE(IDD_DIALOG)));
// WS_EX_APPWINDOW可以让子窗口显示在任务栏中
m_pMainWnd = pMainWnd;
BOOL bResult = pMainWnd->CreateEx(WS_EX_APPWINDOW, lpszClassName, NULL, WS_POPUP|WS_VISIBLE, 0, 0, 0, 0, NULL, 0);
2. 首先你要明白控制的概念。你说的控制放在代码层次说都基于windows消息机制的响应。消息可自定义亦可使用windows默认的消息名进行修改。
更改图形大小什么的,推荐用GDI+库。事例代码:
// 在指定位置绘制按钮
RectF grect;
grect.X=m_rcRect.left;
grect.Y=m_rcRect.top;
grect.Width = m_rcRect.Width();
grect.Height = m_rcRect.Height();
graphics.DrawImage(pImage, grect, iWidth*iButtonIndex,0,iWidth,iHeight, UnitPixel);
3. 控制图形的颜色,线性这些东西都是图形对象的属性,自行修改即可。
4. 自定义图形的内存数据。你说的内存数据是GDI中的DC概念吧,首先必须获得一个设备描述表句柄(DC),然后在图形绘制时,你把这个句柄作为一个参数传递给GDI图形绘制函数。不过现在早就用GDI+了,简单地创建一个图形对象(Graphics),然后以你熟悉的面向对象的编程方式调用它的方法即可,譬如上面的graphics.DrawImage。
1. 画图形现在很少凭空画了,现在通常使用资源文件配置图形界面。
win32的调用语句是这样的(资源文件IDD_DIALOG):
nResult = DialogBoxParamW (hInstance, MAKEINTRESOURCEW (IDD_DIALOG), NULL, (DLGPROC) MyProc, (LPARAM) lpszCommandLine);
MFC是这样的:
// 创建主窗口,程序退出时CDlgMainFrame会自动释放LPCTSTR lpszClassName=AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW,
::LoadCursor(NULL,MAKEINTRESOURCE(IDD_DIALOG)));
// WS_EX_APPWINDOW可以让子窗口显示在任务栏中
m_pMainWnd = pMainWnd;
BOOL bResult = pMainWnd->CreateEx(WS_EX_APPWINDOW, lpszClassName, NULL, WS_POPUP|WS_VISIBLE, 0, 0, 0, 0, NULL, 0);
2. 首先你要明白控制的概念。你说的控制放在代码层次说都基于windows消息机制的响应。消息可自定义亦可使用windows默认的消息名进行修改。
更改图形大小什么的,推荐用GDI+库。事例代码:
// 在指定位置绘制按钮
RectF grect;
grect.X=m_rcRect.left;
grect.Y=m_rcRect.top;
grect.Width = m_rcRect.Width();
grect.Height = m_rcRect.Height();
graphics.DrawImage(pImage, grect, iWidth*iButtonIndex,0,iWidth,iHeight, UnitPixel);
3. 控制图形的颜色,线性这些东西都是图形对象的属性,自行修改即可。
4. 自定义图形的内存数据。你说的内存数据是GDI中的DC概念吧,首先必须获得一个设备描述表句柄(DC),然后在图形绘制时,你把这个句柄作为一个参数传递给GDI图形绘制函数。不过现在早就用GDI+了,简单地创建一个图形对象(Graphics),然后以你熟悉的面向对象的编程方式调用它的方法即可,譬如上面的graphics.DrawImage。
全部回答
- 1楼网友:一秋
- 2021-01-28 21:56
不留邮箱,怎么给你
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯