\r
static DIALOGDATA *DialogData; /* 入力ダイアログデータ */\r
static int HelpPage;\r
+// 高DPI対応\r
+static int DisplayDPIX;\r
+static int DisplayDPIY;\r
\r
\r
\r
}\r
\r
\r
+// 全設定暗号化対応\r
+// 何らかのボタンが押されたときに終了\r
+INT_PTR CALLBACK AnyButtonDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+{\r
+ switch (message)\r
+ {\r
+ case WM_INITDIALOG :\r
+ return(TRUE);\r
+\r
+ case WM_COMMAND :\r
+ switch(GET_WM_COMMAND_CMD(wParam, lParam))\r
+ {\r
+ case BN_CLICKED :\r
+ EndDialog(hDlg, GET_WM_COMMAND_ID(wParam, lParam));\r
+ break;\r
+ }\r
+ return(TRUE);\r
+ }\r
+ return(FALSE);\r
+}\r
+\r
/*----- 文字列の最後に "\" を付ける -------------------------------------------\r
*\r
* Parameter\r
\r
while(*Str != NUL)\r
{\r
- if((*Str != 0x22) && (*Str != '\n'))\r
+ if((*Str != '\"') && (*Str != '\n'))\r
*Put++ = *Str;\r
Str++;\r
}\r
}\r
}\r
#endif\r
+\r
+// 高DPI対応\r
+void QueryDisplayDPI()\r
+{\r
+ HDC hDC;\r
+ if(DisplayDPIX == 0)\r
+ {\r
+ if(hDC = GetDC(NULL))\r
+ {\r
+ DisplayDPIX = GetDeviceCaps(hDC, LOGPIXELSX);\r
+ DisplayDPIY = GetDeviceCaps(hDC, LOGPIXELSY);\r
+ ReleaseDC(NULL, hDC);\r
+ }\r
+ }\r
+}\r
+\r
+int CalcPixelX(int x)\r
+{\r
+ QueryDisplayDPI();\r
+ return (x * DisplayDPIX + 96 / 2) / 96;\r
+}\r
+\r
+int CalcPixelY(int y)\r
+{\r
+ QueryDisplayDPI();\r
+ return (y * DisplayDPIY + 96 / 2) / 96;\r
+}\r
+\r
+HBITMAP ResizeBitmap(HBITMAP hBitmap, int UnitSizeX, int UnitSizeY, int ScaleNumerator, int ScaleDenominator)\r
+{\r
+ HBITMAP hDstBitmap;\r
+ HDC hDC;\r
+ HDC hSrcDC;\r
+ HDC hDstDC;\r
+ BITMAP Bitmap;\r
+ HGDIOBJ hSrcOld;\r
+ HGDIOBJ hDstOld;\r
+ int Width;\r
+ int Height;\r
+ hDstBitmap = NULL;\r
+ if(hDC = GetDC(NULL))\r
+ {\r
+ if(hSrcDC = CreateCompatibleDC(hDC))\r
+ {\r
+ if(hDstDC = CreateCompatibleDC(hDC))\r
+ {\r
+ if(GetObject(hBitmap, sizeof(BITMAP), &Bitmap) > 0)\r
+ {\r
+ if(UnitSizeX == 0)\r
+ UnitSizeX = Bitmap.bmWidth;\r
+ if(UnitSizeY == 0)\r
+ UnitSizeY = Bitmap.bmHeight;\r
+ Width = (Bitmap.bmWidth / UnitSizeX) * CalcPixelX((UnitSizeX * ScaleNumerator) / ScaleDenominator);\r
+ Height = (Bitmap.bmHeight / UnitSizeY) * CalcPixelY((UnitSizeY * ScaleNumerator) / ScaleDenominator);\r
+ if(hDstBitmap = CreateCompatibleBitmap(hDC, Width, Height))\r
+ {\r
+ hSrcOld = SelectObject(hSrcDC, hBitmap);\r
+ hDstOld = SelectObject(hDstDC, hDstBitmap);\r
+ SetStretchBltMode(hDstDC, COLORONCOLOR);\r
+ StretchBlt(hDstDC, 0, 0, Width, Height, hSrcDC, 0, 0, Bitmap.bmWidth, Bitmap.bmHeight, SRCCOPY);\r
+ SelectObject(hSrcDC, hSrcOld);\r
+ SelectObject(hDstDC, hDstOld);\r
+ }\r
+ }\r
+ DeleteDC(hDstDC);\r
+ }\r
+ DeleteDC(hSrcDC);\r
+ }\r
+ ReleaseDC(NULL, hDC);\r
+ }\r
+ return hDstBitmap;\r
+}\r
+\r