ヘッダーファイルの翻訳もDirectXあたり無縁すぎて挫折したが、Visual Studioなんてどうせ遊びじゃ手が出ないし、サンプルの検証に使う程度で約200日の使用期限も終わりそう
あまり評判がよろしくないリボンだけど、全然悪くないと思う
不人気だからなのか、とにかくリボン関係は情報が少なくて、特に具体的な日本語情報となるとほぼ皆無で

Windows の UI・ウィンドウ - Web/DB プログラミング徹底解説
JavaScript, PHP, Apache, IIS, MySQL, SQL Server による Web 開発、及び C/C++ 言語による Windows 開発について入門編から詳細事項まで徹底解説しています。
こんなところが唯一らしい
D言語でリボンを何とかするためにはCOM関係のヘッダーファイルとUIRibbon.hとかいろいろな翻訳も必要になるけど、それはそれで
まずXAMLとかいうMicrosoftのマークアップ言語
<?xml version='1.0' encoding='utf-8'?>
<Application xmlns="http://schemas.microsoft.com/windows/2009/Ribbon">
<Application.Commands>
<Command Name="cmdFileMenu" />
<Command Name="cmdTab1" LabelTitle="Home" />
<Command Name="cmdQat" />
<Command Name="cmdExit">
<Command.LabelTitle>Exit Button</Command.LabelTitle>
<Command.LargeImages>
<Image>image/x.bmp</Image>
</Command.LargeImages>
</Command>
<Command Name="cmdNew" LabelTitle="New">
<Command.LargeImages>
<Image>image/new.bmp</Image>
</Command.LargeImages>
</Command>
</Application.Commands>
<Application.Views>
<Ribbon>
<Ribbon.ApplicationMenu>
<ApplicationMenu CommandName="cmdFileMenu">
<MenuGroup Class="MajorItems">
<Button CommandName="cmdNew" />
</MenuGroup>
<MenuGroup Class="MajorItems">
<Button CommandName="cmdExit" />
</MenuGroup>
</ApplicationMenu>
</Ribbon.ApplicationMenu>
<Ribbon.Tabs>
<Tab CommandName="cmdTab1">
</Tab>
</Ribbon.Tabs>
<Ribbon.QuickAccessToolbar>
<QuickAccessToolbar CommandName="cmdQat" />
</Ribbon.QuickAccessToolbar>
</Ribbon>
</Application.Views>
</Application>
半自前のコードを書いてhoge.xmlで保存
コマンドプロンプトで
UICC.exe hoge.xml hoge.bml /res:hoge.rc /header:hoge.h
などとやると、バイナリファイル(.bml)、リソースファイル(.rc)、ヘッダーファイル(.h)が出来る
.bmlは、同時に出力されたリソースファイルに
APPLICATION_RIBBON UIFILE ".\\xxxx\\hoge.bml"
などと読み込まれる様だから、このリソースファイルをコンパイルするか、元のリソースファイルにインクルードしてコンパイルして、リンクすればOK
ヘッダーファイルは
#define cmdFileMenu 2 #define cmdTab1 3 #define cmdTab1_LabelTitle_RESID 60001 #define cmdQat 4 #define cmdExit 5 #define cmdExit_LabelTitle_RESID 60002 #define cmdExit_LargeImages_RESID 60003 #define cmdNew 6 #define cmdNew_LabelTitle_RESID 60004 #define cmdNew_LargeImages_RESID 60005
こんなのを作ってくれるから、D言語に変換、importしてそれぞれのコマンドを処理すればいい
それなりのコードを書いてやれば


なんとかなる
適当なmakeを書いてやれば、「D言語だから」という類の問題は今のところない様子、ただVisual Studioなんかを使えば、いろんなテンプレートの中から選んだりとか簡単になるのだろうけど
なにせ英語がミミズ故の苦労は尽きないけど、元からある普通のToolbarをD言語で実装するより問題が少なく簡単かもしれない


コメント