PopupMenu Tricks

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

PopupMenu Tricks

Сообщение GSerg » 15.04.2004 (Чт) 10:42

Нагло и бессовестно заюзал раскрученный брэнд :wink: Хотя ничего особо нового сказать не имею :)

В общем, ввиду не очень высокой посещаемости раздела Проекты просьба туда всё-таки зайти и высказать авторитетное мнение по поводу обретающихся там сабклассера и попапной менюшки. Мне показалось, что это красиво :wink: Молчу, молчу. Мнение должно быть непредвзятым :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2004 (Пт) 9:35

И тишина...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2004 (Пт) 9:55

И всем пофигууууу.... :(

Почти написал рисовальщик в стиле Офис97. Вопросов только три:
как правильно нарисовать обычную галку (checked)
как сделать emboss картинки (текста-то мы запросто)
как правильно определить высоту пункта меню (сейчас я считаю высоту текста плюс на глазок зазорчик).
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.04.2004 (Пт) 10:12

Видимо да :)
1. Насчет галки - сдается мне, что это битмап и прячется он где-то в ресурсах, но можно использовать шрифт Wingdings, символ 0xFC.
2. Э... Тебе наверное надо быстро? Я бы конвертил в монохромную (CopyImage с флагом LR_MONOCHROME) и накладывал два раза со сдвигом в один пиксел.
3. GetSystemMetrics(SM_CYMENU)
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2004 (Пт) 10:22

1. Думал :)
2. Потеряются все цвета, кроме DC back color
3. Это высота menu bar, немножко не то...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.04.2004 (Пт) 10:51

1. Обманул я тебя :) Не растр это, это шрифт Marlett
2. А тебе надо универсальное сделать? Или достаточно, чтобы работало под 2000/XP? Если с таким ограничением, то есть много других APIшек
3. упс... :)
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2004 (Пт) 10:57

1. Подозревал :)
2. Начиная с 95, токо так. Недостающие апишки напишем через достающие, была бы идея.
3. ... ю дид ит эгейн... :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.04.2004 (Пт) 11:43

Есть такая прога, TracePlus®/Win32 3.05.000, я ее тянул с http://www.sstinc.com/downloads/tplus32.zip (http://www.sstinc.com/demos.html). Но у меня она свой триал выработала, а в то время я не догадался пользоваться regmon'ом. Так что сбросить триал не получается.
Эта утилита позволяет трасировать API-вызовы. Я предлагаю просто-напросто запустить утилиту и протрассировать какую-нибудь панель инструментов, каким образом там делается Emboss.
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2004 (Пт) 12:39

А всего-то было нужно сделать сплошной поиск слова emboss в win32.hlp :)
Функция DrawState. Делает всё, что нужно. И даже с текстом. Я в восторге :)
Всё равно спасибо, alibek :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.04.2004 (Пт) 13:12

Не за что :)
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2004 (Пт) 13:25

Ты снова обманул меня! :lol:
Всё-таки это не Marlett! :)
Первая мысль была верной. LoadBitmap(OBM_CHECK).
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.04.2004 (Сб) 10:18

Ну почему мои начинания наталкиваются на такие обломы :evil:
WM_MEASURE я получаю только один раз. Если я потом изменю, к примеру текст менюшки, то MEASURE уже не получу! И это текст будет вылезать, к примеру!
Всё нафиг, как говорится...
Идеи есть? :(
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89

    TopList