powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
9 сообщений из 9, страница 1 из 1
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38474489
S0ME0NE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Если через переменные, то где и как их надо указывать в тексте программы
Допустим у пользователей у всех одинаковое разрешение экрана
Есть форма

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#include <windows.h>
...
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
...
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
...
  CreateWindow( wc.lpszClassName, TEXT("Tab Control"),
                WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                100, 100, 700, 500, 0, 0, hInstance, 0);
...
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
...
          hTab = CreateWindow(WC_TABCONTROL, NULL, WS_CHILD | WS_VISIBLE,
              0, 0, 200, 150, hwnd,(HMENU) ID_TABCTRL, g_hinst, NULL);
...

Подскажите пожалуйста.
...
Рейтинг: 0 / 0
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38474511
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Параметры у CreateWindow Left и Top ни на что не намекают?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38474514
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот же они у тебя:

Код: plaintext
1.
2.
3.
4.
5.
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
...
          hTab = CreateWindow(WC_TABCONTROL, NULL, WS_CHILD | WS_VISIBLE,
              0, 0, 200, 150, 
                     hwnd,(HMENU) ID_TABCTRL, g_hinst, NULL);




Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
HWND WINAPI CreateWindow(
  _In_opt_  LPCTSTR lpClassName,
  _In_opt_  LPCTSTR lpWindowName,
  _In_      DWORD dwStyle,
   _In_      int x,
  _In_      int y,
  _In_      int nWidth,
  _In_      int nHeight, 
  _In_opt_  HWND hWndParent,
  _In_opt_  HMENU hMenu,
  _In_opt_  HINSTANCE hInstance,
  _In_opt_  LPVOID lpParam
);
...
Рейтинг: 0 / 0
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38474622
S0ME0NE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я хочу создать переменные, которые были бы видны для объектов формы и для самой формы.
на с++ такое допустимо, в смысле будет ли это грамотно
и в каком месте текста программы их объявить и инициализировать

в дальнейшем мне надо будет менять их значение, допустим пользователь развернёт форму на весь экран, или в окно по меньше
я хотел чтобы объекты формы (таб контроль) тоже бы увеличивался или уменьшался
...
Рейтинг: 0 / 0
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38474668
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S0ME0NEпользователь развернёт форму на весь экран, или в окно по меньше я хотел
чтобы объекты формы (таб контроль) тоже бы увеличивался или уменьшался
Это делается одной строчкой в обработчике сообщения MW_SIZE:
Код: sql
1.
2.
 SetWindowPos(hTab, NULL, 0, 0, LOWORD(lparam), HIWORD(lparam),
               SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOZORDER);


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38474728
S0ME0NE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пробовал по разным местам вставить пару строчек
Код: plaintext
1.
2.
       case MW_SIZE:
		MessageBox (NULL, "About..." , "MW_SIZE", 1);

компилятор сообщает:
Код: plaintext
error C2065: MW_SIZE: необъявленный идентификатор

подскажите пожалуйста, где и как объявить
...
Рейтинг: 0 / 0
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38474762
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S0ME0NEпробовал по разным местам вставить пару строчек
Код: plaintext
1.
2.
       case MW_SIZE:
		MessageBox (NULL, "About..." , "MW_SIZE", 1);

компилятор сообщает:
Код: plaintext
error C2065: MW_SIZE: необъявленный идентификатор

подскажите пожалуйста, где и как объявить

Код: plaintext
 WM _SIZE:
...
Рейтинг: 0 / 0
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38474766
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S0ME0NEя хочу создать переменные, которые были бы видны для объектов формы и для самой формы.
на с++ такое допустимо,


Допустимо.

S0ME0NE в смысле будет ли это грамотно


Не будет.

S0ME0NEи в каком месте текста программы их объявить и инициализировать


В любом глобальном скопе. Вне функции.

S0ME0NEв дальнейшем мне надо будет менять их значение, допустим пользователь развернёт форму на весь экран, или в окно по меньше
я хотел чтобы объекты формы (таб контроль) тоже бы увеличивался или уменьшался

Самое главное, что тебе нафиг не нужны никакие переменные для этого.
Это всё пересчитывается налету.
...
Рейтинг: 0 / 0
Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
    #38475128
S0ME0NE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv WM_SIZE Всё работает без всяких пересчётов. Благодарю.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Через переменные или как ещё указать координаты объектов на форме относительно краёв формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]