0
私は(グローバル)マウスカーソルアイコンをQPixmapで取得しようとしています。Qt Windowsマウスカーソルアイコンを取得
QtとMSDNのドキュメントを読んだ後、私は、コードのこの部分を思い付いた:
私はHCURSORとHICONを混合について不明な点ですが、私は彼らがそれを行ういくつかの例を見てきました。
QPixmap MouseCursor::getMouseCursorIconWin()
{
CURSORINFO ci;
ci.cbSize = sizeof(CURSORINFO);
if (!GetCursorInfo(&ci))
qDebug() << "GetCursorInfo fail";
QPixmap mouseCursorPixmap = QtWin::fromHICON(ci.hCursor);
qDebug() << mouseCursorPixmap.size();
return mouseCursorPixmap;
}
ただし、mouseCursorPixmapのサイズは常にQSize(0,0)です。 何がうまくいかないのですか?
なぜあなたは 'CURSORINFO'構造の' hCursor'メンバーは、アイコンのハンドルであると思いますか? – mvidelgauz
はい、HCURSORとHICONは同じです。なぜこれが動作していないのか分かりません。 'ci.hCursor'は実際に有効なハンドルを含んでいますか?もしそうなら、私は問題が 'QtWin :: fromHICON'にあると想像します。なぜなら、そうでなければ同じコードを何度も使ってマウスカーソルビットマップを取得しているからです。 –
この答えに従って:http://stackoverflow.com/questions/10469538/winapi-get-mouse-cursor-icon 彼らはDrawIcon()でHCURSORを使用しています。 – eKKiM