■■(優先度低)年末でかつ急ぎではないのでお手すきの際に確認いただけると助かります■■
管理人さま
お久しぶり(2年ぶり)です。いつも便利に使わせていただいています。
以下のサンプルの通りなのですが、SetDragFileValidFlagでドラッグアンドドロップを有効にした後、
SetWindowSizeで画面サイズを変更するとD&Dが無効になり、再度SetDragFileValidFlagを呼んでも効果がないように見えます。
ご調査よろしくお願いいたします。
環境はWindows 11 Home 64bitです。
(再現コード)
#include <string>
#include "DxLib.h"
namespace {
constexpr int windowWidth = 800;
constexpr int windowHeight = 600;
}
bool dxlibInit() {
//ウインドウモードにする
ChangeWindowMode(TRUE);
SetWindowSize(windowWidth, windowHeight);
// DXライブラリ初期化処理
if (DxLib_Init() == -1) {
return false;
}
//描画先を裏画面に設定
SetDrawScreen(DX_SCREEN_BACK);
return true;
}
void show(const std::string& mes) {
ClearDrawScreen();
clsDx();
printfDx(mes.c_str());
ScreenFlip();
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
if (!dxlibInit()) {
return 1;
}
show("初期状態:D&D受付中");
SetDragFileValidFlag(TRUE);
WaitKey();
//
show("画面サイズを変えるとなぜかD&Dができなくなる");
SetWindowSize(windowWidth - 100, windowHeight);
WaitKey();
//
show("SetDragFileValidFlagをもう一回呼んでもダメ");
SetDragFileValidFlag(TRUE);
WaitKey();
DxLib_End();
return 0;
}