自己寫的線控制項,可以上方顯示標題。

2021-03-31 08:56:58 字數 2195 閱讀 9584

花了兩個小時替別人完成了乙個線控制項,可以上方顯示標題。郵件寄著不方便,於是便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儲存就行了。標頭檔案中一般放一些重複使用的 例如...