次のようなCreateWindow関数でボタンを作成できます
CreateWindow(L"BUTTON", "Button label", WS_VISIBLE | WS_CHILD, 0, 0, 100, 25, parentWnd, ID, NULL, NULL);
完璧に機能しますが、ボタンには光沢のある効果はなく、フォントにはアンチエイリアシングがありません。
マニフェストもコンパイルしました:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
</assembly>
どのトークンを使用する必要があるかわからないので、あるサイトからサンプルを入手しました。次に、リソースリストを作成しました。
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "manifest.xml"
コンパイル済み:
i686-w64-mingw32-windres -i resources.txt -OCOFF resources.res
そして最後にとリンクしましたがresources.res
、結果はありません。
マニフェストを作成してexeファイルの近くに配置すると、すべて正常に機能します。しかし、マニフェストをリソースにコンパイルしようとしても、効果はありません。
それを修正する方法は?私は、特にQtのような大きなライブラリを使用したくない。
編集:次の
ようCREATEPROCESS_MANIFEST_RESOURCE_ID
に定義されていることを確認してください1
または、マニフェスト行を次のように置き換えます。
1 RT_MANIFEST "manifest.xml"
または
1 24 "manifest.xml"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加