實時重新整理的透明靜態文字框

2021-06-16 03:39:55 字數 732 閱讀 3662

在乙個程式中,需要經常改寫乙個靜態文字框中的內容,而這個文字框又是透明的。 

根據網上資料試驗,均存在改寫後文字重疊現象,redrawwindow時又有螢幕閃爍,怎麼辦?

只重新整理控制項所在父視窗的區域性區域:)

cmytitlestatic::cmytitlestatic()

cmytitlestatic::~cmytitlestatic()

begin_message_map(cmytitlestatic, cstatic)

//}afx_msg_map

end_message_map()

/// cmytitlestatic message handlers

void cmytitlestatic::onpaint() 

void cmytitlestatic::settextcolor(colorref textcolor)

void cmytitlestatic::settext(cstring strcaption)

{m_strcaption=strcaption;

redrawwindow();

crect rect;

getwindowrect(&rect); 

crect crlocation(rect); 

getparent()->screentoclient(crlocation);

getparent()->redrawwindow(crlocation);

UpdateData 用於文字框重新整理

updatedata 引數只有乙個,預設為true。updatedata true 重新整理控制項的值到對應的變數。外部輸入值交給內部變數 即 控制項的值 變數。updatedata false 拷貝變數值到控制項顯示。變數的最終運算結果值交給外部輸出顯示 即 變數值 控制項顯示。例如,視窗中用 d...

解決文字框實時校驗慢的方法

override protected control createcontents composite parent param args public static void main string args 自定義校驗類 modifylistener是文字被修改後觸發和verifylistene...

MFC之靜態文字框的使用

如果我們想在程式中動態建立靜態文字框,而不是像前面那樣直接從toolbox中拖到對話方塊模板上,那麼就需要使用cstatic類的成員函式create。create函式的原型如下 virtual bool create lpctstr lpsztext,dword dwstyle,const rect...