題名どおりの質問です。
今までのツールバーをビットマップからアイコンに変えて、abdev.exe見たいにできないかと悩んでいます。
ツールバーの構造体の中身を変えればいいのではなく、インターフェイスや何やらを使うんでしょう。
まだそのあたりがまだ分からないので、教えてもらえないでしょうか?
こんなところで聞くのも、場違いだとも思いますが・・・
LuxMenuを使って、ツールバーも改造したい
LuxMenuを使って、ツールバーも改造したい
===============================
MyHomePage;; raiden.no.land.to/
===============================
MyHomePage;; raiden.no.land.to/
===============================
Re: LuxMenuを使って、ツールバーも改造したい
LuxMenuは試してないですが、
(ABのインストールフォルダ)\Include\LuxCtrl
にLuxToolbar.sbpというファイルがあるので、それを見れば何かわかるかもしれません。
(ABのインストールフォルダ)\Include\LuxCtrl
にLuxToolbar.sbpというファイルがあるので、それを見れば何かわかるかもしれません。
LuxToolbar
LuxMenuを試しつつ、やってみたら案外あっさりできました。
...が、個人的に試してみただけの非公式情報です。
ですので、これで合っているかは分かりません。
自己責任で御使用願います。
ボタンの計数処理とサイズ計算に食い違いがあるみたいなのですが、
ソースの修正は面倒なので、最後に余分なセパレータを入れて誤魔化しています。
他のインターフェイスメソッドについては、おおよそ↓のような感じだと思います。
...が、個人的に試してみただけの非公式情報です。
ですので、これで合っているかは分かりません。
自己責任で御使用願います。
[ここをクリックすると内容が表示されます]
試してみるとわかるのですが、最後に追加したボタンが何故か表示されません。はじめに
LuxToolbar.sbpをインクルードする。
とすると一発でLuxMenuもインクルードできる。
グローバル領域で
Createイベントで
Destroyイベントで
LuxToolbar.sbpをインクルードする。
コード: 全て選択
#include <LuxCtrl\LuxCtrl.sbp>
グローバル領域で
コード: 全て選択
'ILuxToolbarインターフェイスポインタ
Dim pILuxToolbar As *ILuxToolbar
コード: 全て選択
'LuxToolbarコンポーネントのインスタンスを生成
pILuxToolbar = LuxToolbar_CreateInstance()
'コントロールを作成
pILuxToolbar -> Create(hMainWnd)
'ボタンを追加
pILuxToolbar -> Add(IDM_OPEN, LoadImage(GetModuleHandle(0), MAKEINTRESOURCE(IDI_OPEN), IMAGE_ICON, 16, 16, 0), "開く(&O)")
pILuxToolbar -> Add(IDM_SAVE, LoadImage(GetModuleHandle(0), MAKEINTRESOURCE(IDI_SAVE), IMAGE_ICON, 16, 16, 0), "保存(&S)")
pILuxToolbar -> Add(NULL, NULL, NULL)
pILuxToolbar -> Add(IDM_OPTION, LoadImage(GetModuleHandle(0), MAKEINTRESOURCE(IDI_OPTION), IMAGE_ICON, 16, 16, 0), "オプション(&O)")
pILuxToolbar -> Add(NULL, NULL, NULL)
コード: 全て選択
'インスタンスを破棄
pILuxToolbar -> Release()
ボタンの計数処理とサイズ計算に食い違いがあるみたいなのですが、
ソースの修正は面倒なので、最後に余分なセパレータを入れて誤魔化しています。
他のインターフェイスメソッドについては、おおよそ↓のような感じだと思います。
Function GetHandle() As HWND
コントロールのウィンドウハンドルを取得
Sub Insert(index As Long, id As Long, hIcon As HICON,lpszToolTip As LPSTR)
indexの場所にボタン追加
Sub Clear()
ボタンを全削除
Sub EnableItem(id As Long, bEnabled As BOOL)
淡色表示にする/しない
Sub GetSize(ByRef size As SIZE)
コントロールのサイズを取得
Sub OnRButtonUp(flags As DWord, ByRef pos As POINTAPI)
?