![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| =Женек= |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
В чем странность? РАзмеры кнопок позволяют расположить их не более 4-х на экране. Если в разделе больше 4-х кнопок, то они переносятся на следующее подокно. Если их 4 - то по углам, если 3, то две вверху, одна внизу, но посередине, если одна, то в центре экрана. ЧТО СТРАННОГО?
Но работает же... Без глюков. Вы наверное не обратили внимание - я не менял функцию поиска кнопок, я менял функцию рисования окна. Так что я и рыбку съел и это...
Не получится. Кнопка состоит из 2-х частей - прямоугольной и круглой. И как показал опыт, зона срабатывания тачпанели для круглой кнопки должна быть меньше чем квадрат описывающий этот круг. Так что объединить у меня была мысль, но я решил изьежать недоразумений в будущем. Да и вообще, это нецелесообразно. Для вывода кнопок у меня только начальные координаты используются, а для обозначения области, откуда они копируются из видеостраницы предварительной загрузки - еще 4 цифры... |
||||||
|
|||||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Странно то, что типы кнопок (способ их отрисовки) у вас зависят от их количества. Пользователю ведь должно быть не все равно какие именно 4 кнопки на экране?
Глюки начнутся, если вы поменяете расположение кнопок и/или их пренадлежность экранам. Пока у вас GUI весьма примитивный, и все его отклонения от стандарта '3/4 кнопки на экран' у вас отрабатываются 'затычками' в коде Посмотрите в код - у вас эти '4 цифры' размазаны по коду с помощью кучи if. Это не лучше, чем поместить цифры в массив и убрать всю макаронину из if'ов Если уж начали описывать GUI с помощью массивов - будьте последовательными, описывайте до конца, не оставляйте половину описания в коде |
|||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
ПОтихоньку продвигаюсь.
Возникла проблемка.
Здесь я посчитал, сколько кнопок в текущем окне, то есть в окне, которое имеет соответствующий room и sub_room. В дальнейшем, мне нужно будет обращаться к кнопкам этого окна, т.е. к элементам массива следующим за элементом у которого ( (btn->id==ROOM_ID) && (btn->x == BIT(room)) && (btn->y == BIT(sub_room)) ). И делать это нужно будет только после окончания вышеприведенного цикла. Как в данный конкретный момент узнать номер элемента в массиве? Ведь btn - это указатель. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
xvr, поделить на размер элемента надоб тогда уж... (хотя я не читал всего треда внимательно, мож и не надо).
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Не надо. Результат разности 2х поинтеров получается в элементах, на которые эти поинтеры указывают, а не в байтах (так уж арифметика указателей устроенна в С/С++) |
|||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Разобрался...
Это сообщение отредактировал(а) =Женек= - 16.1.2011, 03:11 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |