應用wizard生成的mdi程式中frame的背景是黑色的,本文將討論如何更改該背景。需要之處的是frame的客戶區並不是由mainframe維護的,其背景視窗的控制代碼為m_hwndmdiclient。故而更改背景的思路是將該控制代碼指向我們自行設計的視窗類。
首先新建乙個視窗類,繼承於cwnd,然後重寫onereasebkgnd()函式。
class cfmbk : public cwnd
}afx_virtual
// implementation
public:
virtual ~cfmbk();
// generated message map functions
protected:
//}afx_msg
declare_message_map()
};
#include "stdafx.h"
#include "chgfrmbk.h"
#include "fmbk.h"
#ifdef _debug
#define new debug_new
#undef this_file
static char this_file = __file__;
#endif
/// cfmbk
cfmbk::cfmbk()
cfmbk::~cfmbk()
begin_message_map(cfmbk, cwnd)
//}afx_msg_map
end_message_map()
/// cfmbk message handlers
bool cfmbk::onerasebkgnd(cdc* pdc)
準備該類後,在cmainframe中重寫oncreateclient()函式:
bool cmainframe::oncreateclient(lpcreatestruct lpcs, ccreatecontext* pcontext)
return false;
}
完成!
更改UIView的背景
本文分析對比了各種更改uiview背景的方法。當然,背景是根據乙個來的 非純色 一.加乙個uiimageview在uiview上面 uiimageview imageview uiimageview alloc initwithframe view.bounds imageview.image ui...
在MDI主窗體中畫背景的最簡單方法
用timage是可以的,不過要是窗體上有停靠的控制項,比如工具欄停靠在頂部或者導航選單停靠在左邊,那麼timage顯示的就會有一段與停靠控制項高度或寬度相同的空白,不知道算不算bug,要是放乙個panel並把timage放在上面,那麼子窗體就被壓在panel下面了,看樣子這個法子行不通.網上找了很多...
VB 更改桌面背景的例子
private declare function getwindowsdirectory lib kernel32 alias getwindowsdirectorya byval lpbuffer as string,byval nsize as long as long private decl...