さて、 RCファイルにボタンを作成せずに、テキストに沿ってボタンに画像を追加したいと思います。これは可能ですか、またはボタンに画像を配置できるようにするためにRCファイルを使用する必要がありますか? 私の画像は#define
「resource.h」にあり、画像は「resources.rc」で宣言されています。「main.cpp」と「resources.rc」の両方に「resource.h」ヘッダーが含まれています。リソースを使用してボタンを作成したくありませんが、画像とテキストを使用してボタンを作成する唯一の方法である場合は、それを行います。私が知る必要があるのは、WinAPI でボタンに画像を配置する方法だけです。
3052 次
1 に答える
0
アップデート:
マニフェスト ファイルをアプリケーションに追加します。マニフェスト ファイルには名前を付ける必要があります
YourApp.exe.manifest
これをマニフェスト ファイルに追加します (マニフェスト ファイルの詳細はこちらhttp://msdn.microsoft.com/en-us/library/bb773175%28VS.85%29.aspx ):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApplication" type="win32" /> <description>Your application description here.</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly>
アプリケーションをリンクする
ComCtl32.lib
アプリケーション リソース ファイルにマニフェストを追加する
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "YourApp.exe.manifest"
InitCommonControls()
WinMain の先頭で呼び出す
更新を終了
ボタン作成 (IMAGE + TEXT) のサンプル コード、LoadBitmap が原因でメモリ リークが発生しやすい:
HWND hwnd_button = CreateWindowEx( 0, "BUTTON", //ascii "Button text", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON, 10, 145, 50, 50, hwnd_parent, NULL, //GetModuleHandle(NULL) (HINSTANCE)GetWindowLong(hwnd_parent, GWL_HINSTANCE), NULL); SendMessage((HWND) m_hWndButton, (UINT) BM_SETIMAGE, (WPARAM) IMAGE_BITMAP, (LPARAM) LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1)));
于 2012-11-27T15:49:39.783 に答える