趣味でC++やっています。
前回質問したのですが回答がつかなかったので再度質問します。
QtとWindows APIの両方混在させています。
リソース系(QIcon, QCursor)に関して質問します。
プライベートリソースとして DLLに カーソルやアイコンをこめます。
Windows APIのLoadLibrary関数等でそのDLLからカーソル等のハンドルを取得して
そのハンドルを QMainWindow等に渡して設定する...のように出来たらいいのですが...
Qtのバージョンが5.6となっています。
QtCreator付属のヘルプファイルを見ると
コンストラクタは
QCursor() QCursor(Qt::CursorShape shape) QCursor(const QBitmap &bitmap, const QBitmap &mask, int hotX = -1, int hotY = -1) QCursor(const QPixmap &pixmap, int hotX = -1, int hotY = -1) QCursor(const QCursor &c) QCursor(QCursor &&other)
のみで、HCURSORはないようです。
非メンバ関数にfromHCURSOR関数みたいなのがないかなと調べてもそれらしきものもないです。
「Qt QCursor HCursor」と検索すると一応ヒットしました。
がよくよく読むとバージョンが4.X ( マイナー番号忘れた... ) となっていました。
でたまに隠しAPIというのでしょうか。ヘルプファイルにはないけど使えるっていう関数もあるようなので
実際に
C++
1QMainWindow window; 2HCURSOR hCursor = NULL; // 本来はDLLから読み込む。サンプルなのでNULLとしておく。 3 4window.setCursor( QCursor((HCURSOR)hCursor) );
としました。
しかし
HCURSOR { aka HICON } はQCursorに変換できません。
といったエラーが出ます。これ自体( エラー内容 )は理解出来ますが、
ではHCURSORのようなハンドルを渡すことは不可能なのでしょうか。
やはり大人しくQt側でやるべきなのでしょうか。
Mac等では使う予定がないので 出来れば Windows API の LoadIcon関数等のようなもので取得出来たらいいのですが...
[情報]
言語: C++
コンパイラ: MinGW
Qtのバージョン: Qt 5.6
Windows API: あり
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/12 08:41