请教各位做过gui底层的高手:
在view中,当用户将一个按钮放置在界面上,并调整大小都适合为止,window有自己的机制去绘制用户调整后的按钮。我想问的是,这些机制是怎么实现的?就算我知道用户调整后的大小(坐标),但按钮如果是3d颜色的话,那应该如何处理?程序如何实现?技术界面GUI
在view中,当用户将一个按钮放置在界面上,并调整大小都适合为止,window有自己的机制去绘制用户调整后的按钮。我想问的是,这些机制是怎么实现的?就算我知道用户调整后的大小(坐标),但按钮如果是3d颜色的话,那应该如何处理?程序如何实现?技术界面GUI
解决方案 »
- ODBC是什么啊?
- vc里用存储过程存储numeric字段的时候老提示精度无效
- 大家学习雷锋好榜样啊~~ 帮个忙
- 在程序运行时,动态创建一个CPicture控件,并为它设置一个 控制变量 m_Picture
- 为什么在MAINFRM.h中定义的消息,CMyView中就可以用,而另外定义的类CMyListCtrl中就不能用?
- 多行文本的显示和编辑问题
- 能不能直接把视图上显示的内容存入文件?
- 如何更改CListCtrl中某一个item的图标?
- 难道没有人知道吗:如何创建没有标题栏的工具条?
- 如何获得WINDOWS系统注册字体名称?
- 急,哪位能给个画 ucc/ean-128码的代码
- 在OnTimer内写拙码之疑问。
例如 窗口 大小 位置 风格, 都在 m_hWnd 的 某偏移处。
所以 一切 都从 m_hWnd 开始。
,其实WINDOWS的实现不就是那些消息吗?
如果是你自己绘制按钮
那你自己处理ONPAINT,WMMOUSEMOVE, WMMOUSELBDOWN 等消息
自己想怎样,就怎样楼
如按钮的rgb数值等。
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_BTNTEXT
COLOR_BTNHIGHLIGHT然后用 DrawFrameControl 来绘制
如果是,那很好办,比如
class MyBtn : class CButton
{
public:
void Draw(){ 做绘制 }
void OnPaint(){}
};
你给MyBtn发一个消息WM_MY_DRAW,传递一个HBITMAP参数,MyBtn收到消息后就调用Draw函数绘制到HBTIMAP中,之后你可以CBitmap的Attch它,获取rgb或者BYTE数组就很容易了
如按钮的rgb数值等。”
1.GetDC
2.GetObject
3.分析 bmp