用mfc如何实现 windows画图程序中的颜色板呢(调色板)

用mfc如何实现 windows画图程序中的颜色板呢(调色板),第1张

COLORREF clr

CColorDialog dlg

if(dlg.domodal==IDOK)

clr=ccd.GetColor()

这样是调用调色板的一种庆穗方法,纳态本质上就是调用vc自带的资源CColorDialog类似的还有CFontDialog等洞差源

#include "stdafx.h"

#include <windows.h>

#include <string.h>

#include <stdio.h>

int main(int argc, char* argv[])

{

char arg[200]={0}

arg[0]='\"'

strcpy(arg+1,argv[0])

int len=int(strlen(arg))

arg[len]='\"'

HWND hWnd=FindWindow(NULL,arg)//找到程序运行窗口的句柄

HDC hDC=GetDC(hWnd)//通过窗口句柄得到该窗口的设备场境句柄

HPEN hPen,hOldPen//画笔

int i=0

for(i<500++i)

SetPixel(hDC,10+i,10+i,0x0000ff)//亏弯用销誉闷画点的办法画一根线,最后一个参数是颜色(32位)

hPen=CreatePen(PS_SOLID,2,0x00ff00)//生成绿色画笔

hOldPen=(HPEN)SelectObject(hDC,hPen)//把画笔引入设备场境

MoveToEx(hDC,20,50,NULL)//设置画线起点

LineTo(hDC,520,550) //画到终点

Arc(hDC,100,100,300,300,350,500,350,500)//画圆

SelectObject(hDC,hOldPen)

//下面是对虚做比,表明它确实是控制台程序

printf("hello console")

system("pause")

return 0

}

建立一个MFC的SDI,然后在 resource界面里修改Toolbar,然后给每个按钮编一个函数就好侍纳谈了。

哦,刚才看到了楼茄备主追加的问题,是这样的:

1、如果你需要点一下就抬起来的效果,那么在把ID和函数对应的时候要用

ON_COMMAND(ID_SAVE, &Cpix_editView::OnFileSave)这种形式老碰

2、如果你需要点一下不抬起来的效果,那么在把ID和函数对应的时候要用

ON_UPDATE_COMMAND_UI(ID_BLACK, &CDrawTogethrView::OnUpdateBlack)这种形式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12356678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存