花了兩個小時替別人完成了乙個線控制項,可以上方顯示標題。郵件寄著不方便,於是便post到這兒。
colorlin.h//made by zheng017
#pragma once
#include "stdafx.h"
#define colorline_classname _t("bscolorline")
class colorline :public cwnd
;//colorline.cpp made by zheng017
#include "stdafx.h"
#include "colorline.h"
implement_dyncreate(colorline, cwnd)
colorline::colorline (dword dwbkcolor,int ilineheight,const char *pwndtext)
:m_dwbkcolor(dwbkcolor)
,m_ilineheight(ilineheight)
,m_rectnow(0,0,0,0)
,m_rectpre(0,0,0,0)
colorline::~colorline ()
bool colorline::registerwindowclass()
}return true;}
begin_message_map(colorline, cwnd)
on_wm_lbuttonup()
on_wm_lbuttondown()
on_wm_rbuttonup()
on_wm_mousemove()
on_wm_erasebkgnd()
end_message_map()
void colorline::getwindowpos(crect &rect)
long colorline::putwindowpos(crect &rect)
void colorline::onlbuttonup(uint nflags, cpoint point)
cwnd::onlbuttonup (nflags,point);
releasecapture();
clipcursor(null);
setcursor(loadcursor(null,idc_arrow));
m_bdrag = false;
::setwindowpos (getsafehwnd(),hwnd_top,m_rectpre.left ,m_rectpre.top,0,0,
swp_nosize|swp_showwindow|swp_nozorder|swp_framechanged); }
long colorline::putwindowtext(const char *pwindowtext)
void colorline::onlbuttondown(uint nflags, cpoint point)
void colorline::onrbuttonup(uint nflags, cpoint point)
void colorline::onmousemove(uint nflags, cpoint point)
if (cdcparent)
cdcparent ->setrop2(ioldmode);
}int irectwidth = m_rectnow.width ();
int irectheight = m_rectnow.height ();
clienttoscreen(&point);
pparent->screentoclient (&point);
m_rectnow.left = point.x;
m_rectnow.top = point.y ;
m_rectnow.right = m_rectnow.left+irectwidth;
m_rectnow.bottom = m_rectnow.top +irectheight;
if (irectwidth >0)
cdcparent ->setrop2(ioldmode);
}memcpy(&m_rectpre,&m_rectnow,sizeof(rect));}}
}bool colorline::onerasebkgnd(cdc* pdc)
}return true;
}
自己動手用c 寫控制項(下)
自己動手用c 寫控制項 下 因為我們這個控制項是實現背景漸變及文字填充,所以override paint事件以完成自畫。為了完成override,現在以下的準備工作 寫幾個在paint事件用的著的事件 使用角度的方法漸近重畫button private void drawbuttonwithangl...
如何自己寫Win32控制項
最早時候就曾經 看到過說所有控制項都是視窗 window 更有甚者說都是物件,這個就不扯了。自己做好的控制項是做成 lib還是 dll那是後話,mfc我是不熟悉了,win32 還是看了幾天的。大致把製作的整個流程簡要的記錄一下。自己做的控制項最主要的功能就是接受你發給他的命令,也就是要給外部呼叫的介...
C語言中的標頭檔案可以自己寫嗎?
一些初學c語言的人,不知道標頭檔案 h檔案 原來還可以自己寫的。只知道呼叫系統庫函式時,要使用 i nclude語句將某些標頭檔案包含進去。其實,標頭檔案跟.c檔案一樣,是可以自己寫的。標頭檔案是一種文字檔案,使用文字編輯器將 編寫好之後,以副檔名.h儲存就行了。標頭檔案中一般放一些重複使用的 例如...