Форум программистов, компьютерный форум CyberForum.ru

C++ и WinAPI

Войти
Регистрация
Восстановить пароль
 
infobos
Строитель
308 / 43 / 1
Регистрация: 18.06.2010
Сообщений: 450
#1

Ищу информацию о стилях. Чтобы все было из списка (dwStyle и dwExStyle) - C++ WinAPI

06.01.2017, 09:38. Просмотров 179. Ответов 0
Метки нет (Все метки)

Есть такое вот создание объекта

C++
1
2
3
DWORD dwExStyle = WS_EX_CLIENTEDGE|WS_EX_DLGMODALFRAME;
DWORD dwStyle = WS_CHILD|WS_VISIBLE|SS_CENTER|SS_CENTERIMAGE|SS_SUNKEN;
CreateWindowEx(dwExStyle, TEXT("STATIC"), TEXT("Panel 1"), dwStyle, x, y, wi, he, hwnd, (HMENU)NULL, hinstance, (LPVOID)NULL);
Дайте полный список как найти все стили из переменных dwStyle и dwExStyle!
Что я могу туда вставить а что нет?

Есть задача как сделать панель без всяких рамочных обводок и прочее по визуалу объектов.
Как самому создавать свое дизайнерское решение?

В интернете нарыл только это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
//Справка по стилям
 
/* стиль WS_CHILD означает, что это дочернее окно и для него
    вместо дескриптора меню будет передан целочисленный идентификатор,
    который будет использоваться дочерним окном для оповещения 
    родительского окна через WM_COMMAND */
 
/*
Для управляющих элементов внутри диалогов специальный смысл имеют стили WS_TABSTOP и WS_GROUP. 
Если в диалоге имеются управляющие элементы со стилем WS_TABSTOP, то при нажатии пользователем 
на клавишу [Tab] (или [Shift]+[Tab]), 
текущий активный элемент диалога будет терять фокус и передавать его следующему
за ним (или предыдущему) ближайшему элементу со стилем WS_TABSTOP. С помощью стиля WS_GROUP 
элементы диалога можно объединять в группы. 
Группа элементов начинается с элемента со стилем WS_GROUP и заканчивается элементом, 
после которого идет элемент со стилем WS_GROUP, или последним элементом в диалоге. 
Внутри группы только первый элемент должен иметь стиль WS_GROUP. 
Windows допускает перемещение внутри группы при помощи клавиш-стрелок.
*/
 
//HWND WINAPI CreateWindow(
//  LPCSTR lpClassName,  /* имя класса */
//  LPCSTR lpWindowName, /* имя окна (заголовок) */
//  DWORD dwStyle,       /* стиль (поведение) окна */
//  int x,               /* горизонтальная позиция окна на экране */
//  int y,               /* вертикальная позиция окна на экране */
//  int nWidth,          /* ширина окна */
//  int nHeight,         /* высота окна */
//  HWND hWndParent,     /* дескриптор родительского окна */
//  HMENU hMenu,         /* дескриптор меню */
//  HANDLE hInstance,    /* дескриптор экземпляра программы */
//  LPVOID lpParam       /* указатель на какую-нибудь ерунду */
//)
/*
 
dwStyle:
WS_DISABLED - при создании окно заблокировано (не может получать реакцию от пользователя);
WS_VISIBLE - при создании окно сразу же отображается (не надо вызывать ShowWindow);
WS_CAPTION - у окна есть строка заголовка;
WS_SYSMENU - у окна есть системное меню;
WS_MAXIMIZEBOX - у окна есть кнопка разворачивания;
WS_MINIMIZEBOX - у окна есть кнопка сворачивания;
WS_SIZEBOX или WS_THICKFRAME - у окна есть рамка изменения размеров;
WS_BORDER - у окна есть рамка (не подразумевает изменение размеров);
WS_HSCROLL или WS_VSCROLL - у окна есть горизонтальная или вертикальная прокрутка;
WS_OVERLAPPED или WS_TILED - "перекрываемое" окно - обычное окно с рамкой и строкой заголовка;
WS_POPUP - "всплывающее" окно;
WS_OVERLAPPEDWINDOW - "перекрываемое" окно с системным меню, кнопками сворачивания/разворачивания, рамкой изменения размеров, короче, типичный стиль для главного окна приложения.
 
 
*/
 
 
 
//HWND CreateWindowEx(
//
//DWORD dwExStyle,      // улучшенный стиль окна
//LPCTSTR lpClassName,  // указатель на зарегистрированное имя класса
//LPCTSTR lpWindowName, // указатель на имя окна
//DWORD dwStyle,        // стиль окна
//int x,                // горизонтальная позиция окна
//int y,                // вертикальная позиция окна
//int nWidth,           // ширина окна
//int nHeight,          // высота окна
//HWND hWndParent,      // дескриптор родительского или окна владельца
//HMENU hMenu,          // дескриптор меню или ID дочернего окна
//HINSTANCE hInstance,  // дескриптор экземпляра прикладной программы
//LPVOID lpParam        // указатель на данные создания окна
//
//);
 
/*
dwExStyle:
 
WS_EX_ACCEPTFILES
Определяет, что окно, созданное с этим стилем принимает файлы, перемещаемые при помощи информационной технологии "перетащи и вставь". 
 
WS_EX_APPWINDOW
Активизирует окно верхнего уровня на панели задач, когда оно видимое. 
 
WS_EX_CLIENTEDGE
Определяет, что окно имеет рамку с притопленным краем. 
 
WS_EX_COMPOSITED
Windows XP: Рисует всех потомков по порядку снизу вверх, используя двойную буферизацию. Для получения дополнительной информации, см. Замечания. Этот стиль не может быть использован, если окно имеет стиль класса или установленные флажки стиля CS_OWNDC или CS_CLASSDC. 
 
WS_EX_CONTEXTHELP
Включает вопросительный знак в строку заголовка окна. Когда пользователь щелкает мышью по вопросительному знаку, курсор меняется на вопросительный знак с указателем. Если пользователь затем щелкает мышью по дочернему окну, потомок принимает сообщение WM_HELP. Дочернее окно должно передать сообщение родительской оконной процедуре, которая должна вызвать функцию WinHelp, используя команду HELP_WM_HELP. Прикладная программа Справки показывает выскакивающее окно, которое обычно содержит справку для дочернего окна.
 
Стиль WS_EX_CONTEXTHELP не может использоваться со стилями WS_MAXIMIZEBOX или WS_MINIMIZEBOX. 
 
WS_EX_CONTROLPARENT
Окно в себе содержит дочерние окна, которые должны принять участие в навигации по диалоговому окну. Если этот стиль определен, диспетчер диалогового окна заново вынуждает действовать внутри дочерних окон этого окна при выполнении навигационных операций типа обработки клавиши TAB, клавиши со стрелкой или ускорителей клавиатуры. 
 
WS_EX_DLGMODALFRAME
Создает окно, которое имеет двойную рамку; окно может быть создано (необязательно) с областью заголовка, которую определяет стиль WS_CAPTION в параметре dwStyle. 
 
WS_EX_LAYERED
Windows 2000/XP: Создает многослойное окно. 
 
Обратите внимание! что этот стиль не может быть использован для дочерних окон. Также он не может быть использован, если окно имеет стиль класса или установленные флажки стиля CS_OWNDC или CS_CLASSDC. 
WS_EX_LAYOUTRTL
Арабская и Еврейская версии Windows 98/Me, Windows 2000/XP: Создает окно, начало горизонтальной координаты которого, находится на правом крае. Увеличение горизонтальных значений продвигает курсор влево. 
 
WS_EX_LEFT
Создает окно, которое имеет свойство "выравнивания по левой границе". Это - по умолчанию. 
 
WS_EX_LEFTSCROLLBAR
Если язык оболочки Еврейский, Арабский или другой язык, который придерживается иного порядка чтения, вертикальная линейка прокрутки (если дается) находится слева от рабочей области. Для других языков, этот стиль игнорируется.
 
WS_EX_LTRREADING
Текст окна отображается, используя свойство порядка чтения слева направо. Это - по умолчанию. 
 
WS_EX_MDICHILD
Создает MDI дочернее окно. 
 
WS_EX_NOACTIVATE
Windows 2000/XP: окно верхнего уровня, созданное с этим стилем не становится приоритетным окном, когда пользователь щелкает кнопкой мыши по нему. Система не переводит это окно в активный режим, когда пользователь свертывает или закрывает приоритетное окно.
Чтобы активизировать окно, используйте функцию SetActiveWindow или SetForegroundWindow.
Окно по умолчанию не появляется на панели задач. Чтобы заставить окно появляться на панели задач, используйте стиль WS_EX_APPWINDOW. 
 
WS_EX_NOINHERITLAYOUT
Windows 2000/XP: окно, созданное с этим стилем не передает свою компоновку своим дочерним окнам. 
 
WS_EX_NOPARENTNOTIFY
Определяет, что дочернее окно, созданное с этим стилем не отправляет сообщение WM_PARENTNOTIFY своему родительскому окну, когда оно создается или разрушается. 
 
WS_EX_OVERLAPPEDWINDOW
Комбинация стилей WS_EX_CLIENTEDGE и WS_EX_WINDOWEDGE. 
 
WS_EX_PALETTEWINDOW
Комбинация стилей WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW и WS_EX_TOPMOST. 
 
WS_EX_RIGHT
Окно имеет свойство "выравнивания по правому краю". Оно зависит от класса окна. Этот стиль имеет действие только тогда, если язык оболочек Еврейский, Арабский или другой язык, который поддерживает иной порядок выравнивания для чтения; иначе, стиль игнорируется.
Использование стиля WS_EX_RIGHT для статических органов управления или полей редактирования текста имеет то же самый результат, как и использование стиля SS_RIGHT или ES_RIGHT, соответственно. Использование этого стиля для командных кнопок имеет то же самое действие, как и использование стилей BS_RIGHT и BS_RIGHTBUTTON. 
 
WS_EX_RIGHTSCROLLBAR
Вертикальная линейка прокрутки (если предоставляется) появляется справа от рабочей области. Это - по умолчанию. 
 
WS_EX_RTLREADING
 
Если язык оболочки Еврейский, Арабский или другой язык, который придерживается иного порядка выравнивания для чтения, текст в окне отображается, используя порядок чтения справа - налево. Для других языков этот стиль игнорируется. 
 
WS_EX_STATICEDGE
Создает окно с трехмерным стилем рамки, который предполагается использовать для элементов, которые не принимают вводимую информацию от пользователя. 
 
WS_EX_TOOLWINDOW
Создает окно инструментальных средств; то есть окно предполагается использовать как плавающую инструментальную панель. Окно инструментальных средств имеет область заголовка, которая короче, чем нормальная строка заголовка, а заголовок окна выводится, с использованием меньшего шрифта. Окно инструментальных средств не появляется в панели задач или в диалоговом окне, которое появляется тогда, когда пользователь нажимает ALT+TAB. Если окно инструментальных средств имеет системное меню, его пиктограмма не отображается в заголовке. Однако, Вы можете показывать на экране системное меню, щелкая правой кнопкой мыши или, вводя с клавиатуры ALT+SPACE. 
 
WS_EX_TOPMOST
Определяет, что окно, созданное с этим стилем должно быть размещено выше всех, не самых верхних окон и должно стоять выше их, даже тогда, когда окно деактивировано. Чтобы добавить или удалить этот стиль, используйте функцию SetWindowPos. 
 
WS_EX_TRANSPARENT
Определяет, что окно, созданное с этим стилем не должно изображаться до тех пор, пока родственные окна уровнем ниже (которые были созданы тем же самым потоком) не будут изображены. Вид окна прозрачный, потому, что биты основных сестринских окон уже были окрашены.
Чтобы достигнуть прозрачности без этих ограничений, используйте функцию SetWindowRgn. 
 
WS_EX_WINDOWEDGE
Определяет, что окно имеет рамку с выпуклым краем.
*/
 
//BOOL WINAPI ShowWindow(HWND hw, int ss)
//Второй параметр этой функции - код состояния отображения окна. В качестве этого кода можно взять значение четвертого параметра, с которым была запущена функция WinMain. Другие возможные значения этого параметра:
//SW_SHOW - отобразить и активировать окно;
//SW_HIDE - скрыть окно;
//SW_MAXIMIZE - развернуть окно на весь экран;
//SW_RESTORE - активировать окно и отобразить его в размерах по умолчанию;
//SW_MINIMIZE - свернуть окно.
Добавлено через 27 минут
Также хочется понять как выравнивать помещенный текст в окно-кнопку?
Или простой текст вывести с определением выравнивания по правому краю или левому?

Добавлено через 3 минуты
Как присваивать свои уникальные цвета окнам и кнопкам?

Добавлено через 1 минуту
Как текст выравнивать по вертикали?

Добавлено через 3 минуты
Как задать шрифт и размер текста?

Добавлено через 1 минуту
Цвет текста и прочее?

Добавлено через 20 минут
Например имеем такой код:
C++
1
2
3
4
5
6
7
HWND hLabel;
    hLabel = CreateWindow(TEXT("STATIC"), TEXT("ST_U"),
                              WS_CHILD | WS_VISIBLE | WS_TABSTOP | SS_RIGHT,//SS_RIGHT SS_CENTER SS_LEFT
                              x, y, wi, he,
                              hwnd, (HMENU)7,
                              (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
   SetWindowText(hLabel, str);
Как сделать так, чтобы текст выводился с моими установленными цветами?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2017, 09:38     Ищу информацию о стилях. Чтобы все было из списка (dwStyle и dwExStyle)
Посмотрите здесь:
C++ WinAPI Как сделать чтобы перерисовывалось то же что и было?
Как сделать, чтобы можно было взять тригонометрическую функцию из файла или textBox и вставить в код ? C++ WinAPI
C++ WinAPI Создать окно поверх главного окна, чтобы главное окно было доступно
C++ WinAPI Как скрыть курсор мыши и захватить мышку, чтобы не было стрелки мыши и получать команды?
Получить информацию об оперативной памяти и информацию об одном из жёстких дисков C++ WinAPI
jQuery как сделать, чтобы при нажатии на кнопку появлялась таблица, заданная мною, чтобы в полях таблицы можно было ввести информацию а потом сохранить ее
C# как лучше представить информацию в файле, чтобы в дальнейшем было удобнее работать с ним?
Turbo Pascal Переставить элемента массива, так чтобы сначала было расположены все положительные элементы, потом все отрицательные
C# MVC Как сделать DropDownListFor чтобы при создании товара можно было выбрать категорию с списка
Как передать в функцию два односвязных списка так, чтобы внутри функции можно было эти списки редактировать? C++
Delphi БД Как сделать чтобы выбирая фамилию преподавателя в ComboBox можно было бы видеть таблицу списка предметов, которые ведет
Python Сделать так, чтобы в любой момент в консоли можно было нажать определенную кнопку для получения списка клиентов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru