Привет всем, недавно решил начать программировать на фасме, до этого баловался Delphi, не смейтесь над исходником, но у меня проблемы с диалогом. Вроде все правильно, а как то к мыши прилипает. И как сделать тулбар со стилем TBSTYLE_FLAT, ведь структура: Код (Text): struct TBBUTTON iBitmap dd ? idCommand dd ? fsState db ? fsStyle db ? dw ? dwData dd ? iString dd ? ends TBSTYLE_FLAT не влазит в fsStyle как байт, а как в три байта запихнуть??? Бред какой то... Помогите пожалуйста разобраться...
Код (Text): OR DWORD PTR [Твоя_структура.fsStyle], TBSTYLE_FLAT Видимо, как-то так. ЗЫ: а вообще, это извращение, однако, трёхбайтные парамы... Одного байта пожалели, блин. Мелкософт, одно слово %)
Хе - хе а FLATным тулбар не стал... Параметр TBSTYLE_FLAT = 800h, а один байт нумеруется только до 256 кажется так. В общем задача как пихнуть в 3 байта 800h.
А может ошибка не в мелкософте а в includах фасма в MSDN к примеру дается такая структура: Код (Text): typedef struct _TBBUTTON { \\ tbb int iBitmap; int idCommand; BYTE fsState; BYTE fsStyle; DWORD dwData; int iString; } TBBUTTON, NEAR* PTBBUTTON, FAR* LPTBBUTTON; typedef const TBBUTTON FAR* LPCTBBUTTON; Дык все равно в байт запихнуть Word? Это как?
dgs Стиль TBSTYLE_FLAT отношения к TBBUTTON не имеет. Посему ему и не нужно влазить в байт. Это раз. Ни в инклудах фасма, ни в MSDN нет ошибки. В MSDN код на си. Компилятор автоматически выравнивает положение поля структуры на границу равную его размеру. Поэтому между BYTE fsStyle и DWORD dwData (из MSDN-описания) есть два байта, отведенные на выравнивание dwData. Это два. Фасм так не своевольничает, поэтому там в описании явно указаны два безымянных байта. Это три. И никогда не запихивайте ничего в три байта. DEEP Не бывает трехбайтовых полей у структур. И нечего все валить на Microsoft. 99% процентов ругательств в сторону бедного Гейтса - результат некомпетентности обругивающих.
Можно. Юзай мою отрисовку http://www.wasm.ru/forum/viewtopic.php?pid=255650#p255650 хотя там, наверное, тоже придётся напильником работать... всёж-таки состояний у тулбарных кнопок может быть больше, тот же LineBreak, или как его там... ЗЫ: мде, а про трёхбайтный парам и впрямь натупил... надо больше спать