Win32 C ++ установить расположение окна в правом нижнем углу - PullRequest
0 голосов
/ 10 октября 2019

Как установить окно в правый нижний угол экрана (не считая панели задач)? Могу ли я сделать это с CreateWindowEx? Но я видел только CW_USEDEFAULT, и нет CW_, чтобы установить его на угол.

HWND hwnd = CreateWindowEx(
            NULL,
            DUCKPROC_CLASS_NAME,
            DUCKPROC_WINDOW_TIP_NAME,
            WS_BORDER| WS_VISIBLE,
            CW_USEDEFAULT,
            CW_USEDEFAULT, 
            CW_USEDEFAULT,
            CW_USEDEFAULT,
            NULL,
            NULL,
            GetModuleHandle(NULL),
            NULL
        );

1 Ответ

0 голосов
/ 11 октября 2019

Это пример размещения окна в правом нижнем углу. (Здесь я устанавливаю ширину и высоту окна равными 200.)

   RECT desktopRect;
   if (!GetWindowRect(GetDesktopWindow(), &desktopRect))
       return FALSE;

   int windowWidth = 200;
   int windowHeight = 200;
   int posX = desktopRect.right - windowWidth;
   int posY = desktopRect.bottom - windowHeight;
   HWND hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
       posX, posY, windowWidth, windowHeight, nullptr, nullptr, hInstance, nullptr);

Вы можете использовать CreateWindowEx, но вам это не нужно, потому что:

Создает перекрывающиеся всплывающие окна. up или дочернее окно с расширенным стилем окна;в противном случае эта функция идентична функции CreateWindow.

...