更改MDI中Frame的背景

2021-06-02 01:46:49 字數 1106 閱讀 4245

應用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...