Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 612
от 10.08.2003, 23:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 3887 Отправлено ответов: 11454 Активность: 294.6 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Евгений Иванов Статус: Опытный Общий рейтинг: 145.34 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
Tigran K. Kalaidjian Статус: Профессиональный Общий рейтинг: 125.56 URL: Методы оптимизации работы ПК [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.03 [Подробней >>] |
Zedr0n Статус: Доверительный Общий рейтинг: 108.99 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 151.47 URL: Программирование [Подробней >>] |
dimka Статус: Доверительный Общий рейтинг: 141.79 [Подробней >>] |
Hangatyr Статус: Опытный Общий рейтинг: 113.87 [Подробней >>] |
Eugene Статус: Профессиональный Общий рейтинг: 106.74 URL: мощный файловый архив [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 135.3 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 126.84 URL: Эхоконференция по вирмейкингу Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 107.51 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 118.28 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 113.24 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 3854. Здравствуйте, уважаемые эксперты! Не могли бы вы объяснить мне две вещи: 1. Мне нужно написать что-т... (ответов: 5)
Вопрос № 3855. Доброго времени суток, уважаемые эксперты! Опять возникла проблема - можно ли как-нибудь активизиров... (ответов: 7)
Вопрос № 3856. Hi all. Писал ли кто-нибудь софт для гостинниц. Или быть может в нете встречали. Подсобите кто чем с... (ответов: 4)
Вопрос № 3858. Подскажите начинающему, где найти принципиальную схема на микропроцессоре с детально разработанной ... (ответов: 4)
Вопрос № 3859. Как узнать кратно ли число 13!!! спасибо!!!... (ответов: 9)
Вопрос № 3860. К вопросу 3856 2Tigran K. Kalaidjian, мне исходники не нужны!... (ответов: 1)
Вопрос № 3861. · Уважаемые эксперты! Помогите разобраться.Вроде все правильно и Clipboard не пустой,но моей строки ... (ответов: 3)
Вопрос № 3862. Hi, Где можно взять документацию по IL .Net и вообще стоит ли её читать, почему то авторы книг по .N... (ответов: 1)
Вопрос № 3863. Уважаемые эксперты. Как можно контролировать состояние процесса(завис он, или нормально работает) за... (ответов: 3)
Вопрос № 3864. Ламерский вопрос: как создать и использовать combobox в Tasm'e. Если можно, то примерчик-другой или ... (ответов: 3)
Вопросов: 10, ответов: 40
Вопрос № 3854 |
Здравствуйте, уважаемые эксперты!
Не могли бы вы объяснить мне две вещи:
1. Мне нужно написать что-то типа генератора случайных чисел (говоря "вроде", я имею в виду,
что можно брать значение таймера) - я знаю примерно как сделать это в дос (считать таймер), а
как в Windows?
2. Вот считали допустим какое то число, а у меня есть диапазон, в котором должны лежать "случайные"
числа (например, от 100000 до 355000). Как привести значение таймера к числу из этого диапазона?
Если можно, то укажите конкретные формулы, плз.
Вопрос отправлен: 06.08.2003, 03:50
Отправитель: nnn
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Приветствую Вас, nnn!
Чистейшая арифметика!
rnd*(X1-X0)+X0
по моему так.
rnd возвращает от 0 до 1.
Вот генератор случ.чисел.
берёшь случ.число в диапазоне X1-X0.
Потом прибавляешь X0.
;----------
;Мощный генератор случайных чисел. IN -> AX-range; OUT -> AX-число 0...AX-1;
;Взят из C++;
proc Rnd ;=========================================================
push bx cx dx ax
mov bx,3
mov cx,43FDh
mov ax,wptr [bp+Seed-dat]
mov dx,wptr [bp+Seed+2-dat]
push bx ax
or bx,dx
mov bx,cx
jnz rnd_1_1
mul bx
pop ax bx
jmp rnd_1_2
rnd_1_1:
mul bx
mov cx,ax
pop ax dx
push ax
mul dx
add cx,ax
pop ax
mul bx
add dx,cx
rnd_1_2:
add ax,9EC3h
adc dx,26h
mov wptr [bp+Seed-dat],ax
mov wptr [bp+Seed+2-dat],dx
mov ax,dx
and ah,127
pop cx
cwd
idiv cx
mov ax,dx
pop dx cx bx
ret
endp
;---------
sub ah,ah ;Установим начальное RND
int 1Ah
mov wptr [bp+Seed-dat],dx
mov wptr [bp+Seed+2-dat],cx
Ответ отправлен: 06.08.2003, 17:51
Отправитель: Евгений Иванов
Отвечает Tigran K. Kalaidjian
Доброе время суток, nnn!
1. А что такого ? Возьмите, например, текущее время(кол-во сек, мин, часов, месяцев, лет и пр.) затем путем некоторых мат. преобразований(на Ваш вкус) получите некоторое число - чем не семя рандомизации ?
Далее просто используйте Ваш любимый алгоритм.
Если интересует именно алгоритм получения ПСЧ, то читайте Зубкова или ответ на вопрос 3219 данной рассылки.
2. Может это не самый рациональный способ, но почему бы просто не отсеивать всё лишнее. Просто проверяйте - лежит ли сгенерированное число в нужном диапазоне. Если нет, то повторить процесс генерации.
Ответ отправлен: 06.08.2003, 10:56
Отправитель: Tigran K. Kalaidjian
Отвечает vitya
Приветствую Вас, nnn!
1. берешь например апишной функцией GetTickCount().
2. GetTickCount() % 25501 + 10000; (% - операция взятия остатка, mod).
25501 = 35500 - 10000 + 1;
Ответ отправлен: 06.08.2003, 08:00
Отправитель: vitya
Отвечает Zedr0n
Доброе время суток, nnn!
В Windows можно юзать GetTickCount, возвращает количество миллисекунд, прошедших с последней перезагрузки системы.
Подробнее читай в MSDN. Насчет диапазона...
Чем не устраивает такое. Пусть в eax случайное число...
cdq
mov ebx,255000d
div ebx
add edx,100000d
mov eax,edx
Вот так, если по-нормальному, то это просто
(eax mod 255000)+100000, то что тебе надо...
Удачи!
Ответ отправлен: 08.08.2003, 20:38
Отправитель: Zedr0n
Отвечает Bob Johnson
Приветствую Вас, nnn!
1. Таймер можно читать как GetTickCount, timeGetTime и QueryPerformanceCounter. Причем последняя функция имеет наибольшую точность.
2. Взять сколько-то младших битов от таймера, затем привести диапазон числа, состоящего из этих битов в требуемый тебе умножением. Например, нужны числа от 100 до 200, значит требуемый диапазон будет 100. Пусть ты берешь 8 младших битов, т.е. диапазон получаемого тобой числа будет 256 (255). Для приведения необходимо будет поделить полученное число на 2.55, после чего добавить 100.
* EMan1.4: ---===*** Die young - live free ***===---
Ответ отправлен: 08.08.2003, 15:52
Отправитель: Bob Johnson
Вопрос № 3855 |
Доброго времени суток, уважаемые эксперты!
Опять возникла проблема - можно ли как-нибудь активизировать программу-нерезидента с помощью клавиатуры? То есть суть в следующем: есть прога, которая что-то там считает. Я нахожусь, например, в ворде. Можно ли поставить сочетание клавиш на активизацию этой проги?
Заранее большое спасибо.
Вопрос отправлен: 06.08.2003, 06:16
Отправитель: Ренат
[Следующий вопрос >>] [Список вопросов]
Отвечает dimka
Добрый день, Ренат!
По-мойму, если прога нерезедент, то ни черта не получится!!!
Ответ отправлен: 06.08.2003, 10:56
Отправитель: dimka
Отвечает Tigran K. Kalaidjian
Приветствую Вас, Ренат!
Т.е. переключиться на неё? Используйте Alt+Tab.
Ответ отправлен: 06.08.2003, 11:01
Отправитель: Tigran K. Kalaidjian
Отвечает Hangatyr
Приветствую Вас, Ренат!
Можно поставить глобальный hook на WH_KEYBOARD, правда придется его запихать в dll. Подробности можно посмотреть в msdn. Не совсем, конечно, то, что тебе нужно...
Ответ отправлен: 06.08.2003, 07:21
Отправитель: Hangatyr
Отвечает Eugene
Добрый день, Ренат!
Положи иконку на эту прогу на десктоп и в её свойствах пропиши shortcut key. Например ctrl+alt+t. Тогда при работе в ворде нажимаешь ctrl+alt+t и запускается твоя прога.
Ответ отправлен: 06.08.2003, 10:01
Отправитель: Eugene
Отвечает masquer
Добрый день, Ренат!
в винде в общем нет понятия "резидент". Если хочешь, чтобы прога всплывала по клавише - копай в сторону хуков. Посмотри архивы - сто раз это обсуждалось.
Ответ отправлен: 06.08.2003, 11:23
Отправитель: masquer
Отвечает Евгений Иванов
Доброе время суток, Ренат!
Тут даже Ассемблер не надо.
Берёшь делаешь ссылку в главном меню и ставишь там быструю клавишу.
А так нужно регистрировать быструю клавишу.
The following function creates a hot-key control, uses the HKM_SETRULES and HKM_SETHOTKEY messages to initialize it, and returns a handle to the control. This hot-key control does not allow the user to choose a hot key that is a single unmodified key, nor does it permit the user to choose only SHIFT and a key. (These rules effectively prevent the user from choosing a hot key that might be accidentally entered while typing text.)
// InitializeHotkey - creates a hot-key control and sets rules
// and default settings for it.
// Returns the handle of the hot-key control.
// hwndDlg - handle of the parent window (dialog box)
//
// Global variable
// g_hinst - handle of the application instance
extern HINSTANCE g_hinst;
HWND WINAPI InitializeHotkey(HWND hwndDlg)
{
// Ensure that the common control DLL is loaded.
InitCommonControls();
hwndHot = CreateWindowEx(
0, // no extended styles
HOTKEY_CLASS, // class name
"", // no title (caption)
WS_CHILD | WS_VISIBLE, // style
10, 10, // position
200, 20, // size
hwndDlg, // parent window
NULL, // uses class menu
g_hinst, // instance
NULL // no WM_CREATE parameter
);
SetFocus(hwndHot);
// Set rules for invalid key combinations. If the user
// does not supply a modifier key, use ALT as a modifier.
// If the user supplies SHIFT as a modifier key, use
// SHIFT + ALT instead.
SendMessage(hwndHot, HKM_SETRULES,
(WPARAM) HKCOMB_NONE | HKCOMB_S, // invalid key combinations
MAKELPARAM(HOTKEYF_ALT, 0)); // add ALT to invalid entries
// Set CTRL + ALT + A as the default hot key for this window.
// 0x41 is the virtual-key code for 'A'.
SendMessage(hwndHot, HKM_SETHOTKEY,
MAKEWORD(0x41, HOTKEYF_CONTROL | HOTKEYF_ALT), 0);
return hwndHot;
Ответ отправлен: 06.08.2003, 23:37
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Приветствую Вас, Ренат!
Если ты в виндах, то что ты называешь резидентом?
В виндах есть функция: RegisterHotKey - вот в ее сторону и смотри.
* EMan1.4: ---===*** Die young - live free ***===---
Ответ отправлен: 08.08.2003, 15:52
Отправитель: Bob Johnson
Вопрос № 3856 |
Hi all.
Писал ли кто-нибудь софт для гостинниц.
Или быть может в нете встречали.
Подсобите кто чем сможет, хочеться посматреть как это выглядит.
(софтина управляет информацией о свободных номерах, бронь итд)
Вопрос отправлен: 06.08.2003, 06:18
Отправитель: Tibor (tibor_ferencig@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает dimka
Здравствуйте, Tibor!
На Oracle делать нечего!!!
Ответ отправлен: 06.08.2003, 10:42
Отправитель: dimka
Отвечает Tigran K. Kalaidjian
Доброе время суток, Tibor!
А Вы думаете, что кто-то даст Вам за просто так исходник программы для коммерческого применения?
Пардон, но это конференция для начинающих ассемблерщиков, Вы не туда попали, видимо.
Ответ отправлен: 06.08.2003, 10:39
Отправитель: Tigran K. Kalaidjian
Отвечает Maverick
Доброе время суток, Tibor!
Насчет софта, не встречал, но думаю, что большинство пользуются обыкновенной базой данных, да хотябы биловой...
Ответ отправлен: 07.08.2003, 04:29
Отправитель: Maverick
Отвечает Bob Johnson
Доброе время суток, Tibor!
А что тут такого - обычная база данных с некоторым интерфейсом... Если хочешь сам написать - вначале узнаешь у заказчика, какие ему будут нужны функции и каким он хотел бы видеть интерфейс. А дальше - за работу. Можешь использовать MS Access, если простая достаточно программа будет (премущества - есть везде, т.к. идет вместе с офисом) или Delphi + какая-либо БД (например, interbase).
* EMan1.4: ---===*** Die young - live free ***===---
Ответ отправлен: 08.08.2003, 15:52
Отправитель: Bob Johnson
Вопрос № 3858 |
Подскажите начинающему, где найти принципиальную схема на микропроцессоре
с детально разработанной программой на Asm.
Спасибо.
Вопрос отправлен: 06.08.2003, 08:50
Отправитель: Андрей
[Следующий вопрос >>] [Список вопросов]
Отвечает dimka
Добрый день, Андрей!
Странный вопрос:непонял(перефразируй)
Ответ отправлен: 06.08.2003, 10:35
Отправитель: dimka
Отвечает Tigran K. Kalaidjian
Добрый день, Андрей!
Если Вас интересуют общие принципы работы (и построения) процессоров и схем на их основе, а также программирование, то читайте книгу Ч.Петцольда "КОД". Для начинающего это то, что надо !
Ответ отправлен: 06.08.2003, 10:21
Отправитель: Tigran K. Kalaidjian
Отвечает Евгений Иванов
Здравствуйте, Андрей!
Попробуй здесь:
http://telesys.ru/projects.shtml
Ответ отправлен: 06.08.2003, 23:37
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Здравствуйте, Андрей!
Прежде всего - схему чего? На микропроцессоре половина изделий сделана...
* EMan1.4: ---===*** Die young - live free ***===---
Ответ отправлен: 08.08.2003, 15:52
Отправитель: Bob Johnson
Вопрос № 3859 |
Как узнать кратно ли число 13!!!
спасибо!!!
Вопрос отправлен: 06.08.2003, 12:31
Отправитель: Corban Dalas (corban_dalas@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Tigran K. Kalaidjian
Доброе время суток, Corban Dalas!
1. Мат. Решение: Число N делится на 13 в том и только в том случае, когда на 13 делится число L, полученное из него зачеркиванием последней цифры и прибавлением к полученному числу учетверенного значения этой цифры. Например, число N=52 делится на 13, так как число L=5 + 4*2=13 делится на 13. Если делимость L на 13 неочевидна, то можно повторить тот же процесс с L.
2. Решение программиста на языке паскаль:
const n=15;
var del: boolean;
begin
if n mod 13 = 0 then del:=false else del:=true;
end.
Ответ отправлен: 06.08.2003, 14:18
Отправитель: Tigran K. Kalaidjian
Отвечает Zedr0n
Здравствуйте, Corban Dalas!
Признака делимости на 13 простого, насколько я знаю нет, то есть, как у 2,3,5,7,9,11, поэтому простейший способ -
поделить на 13, например так(пусть в eax - само число)
push eax
push edx
cdq
mov ebx,13
div ebx
test edx,edx
jnz divisible
pop edx
pop eax
non_divisible:
pop edx
pop eax
Ответ отправлен: 08.08.2003, 20:41
Отправитель: Zedr0n
Отвечает vitya
Добрый день, Corban Dalas!
элементарно, если остаток от деления на 13 равен 0.
Ответ отправлен: 06.08.2003, 12:41
Отправитель: vitya
Отвечает dimka
Приветствую Вас, Corban Dalas!
...
mov ax,100
test ax,13
jne m1
...
Ответ отправлен: 06.08.2003, 12:41
Отправитель: dimka
Отвечает Gibbel
Приветствую Вас, Corban Dalas!
mov ax,число
mov bx,13
xor dx,dx
div bx
cmp dx,0
jnz не_кратно
Ответ отправлен: 06.08.2003, 12:51
Отправитель: Gibbel
Отвечает Ayl
Здравствуйте, Corban Dalas!
mov ax, chislo
mov bl, 13
div bl
or ah, ah
jz @@yes ; если остаток = 0, то кратно
Ответ отправлен: 06.08.2003, 12:53
Отправитель: Ayl
Отвечает masquer
Добрый день, Corban Dalas!
Кратно чему? Если степеням двойки, то первые n битов равны 0. n - степень двойки. Для остальных div используй.
Ответ отправлен: 06.08.2003, 13:02
Отправитель: masquer
Отвечает Евгений Иванов
Приветствую Вас, Corban Dalas!
Оно кратно! Кратно числу 26! И 39! Это точно!
:-)
Оно нечётное.
А так оно не делится без остатка на любое другое число.
Ещё это чёртова дюжина.
Обычно пятница 13 - очень весёлый день!
В общем, забавное число!
Ответ отправлен: 06.08.2003, 23:43
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Приветствую Вас, Corban Dalas!
Разделить его на 13 и проверить, что остаток равен нулю (остаток помещается в dx).
* EMan1.4: ---===*** Die young - live free ***===---
Ответ отправлен: 08.08.2003, 15:52
Отправитель: Bob Johnson
Вопрос № 3860 |
К вопросу 3856
2Tigran K. Kalaidjian, мне исходники не нужны!
Вопрос отправлен: 06.08.2003, 13:13
Отправитель: Tibor (tibor_ferencig@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает dimka
Доброе время суток, Tibor!
.
Ответ отправлен: 07.08.2003, 10:53
Отправитель: dimka
Вопрос № 3861 |
· Уважаемые эксперты!
Помогите разобраться.Вроде все правильно и Clipboard не пустой,но моей строки там нет.Самое интересное,что этот же код в С работает без проблем.Здесь были предложения использовать LOCALE,но в С я же его не использовал?!
Спасибо.
Приложение:
Вопрос отправлен: 06.08.2003, 14:03
Отправитель: Yuriy (g.u@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Yuriy!
Я чуть-чуть изменил, но в принципе все тоже самое - все работает.
...
invoke GlobalAlloc,GHND,eax
mov edi,eax
mov ebx, [edi]
invoke lstrcpy,ebx,addr StringToPutToClipboard
invoke OpenClipboard,0
invoke EmptyClipboard
invoke SetClipboardData,CF_TEXT,edi
...
Ответ отправлен: 06.08.2003, 14:46
Отправитель: masquer
Отвечает Zedr0n
Добрый день, Yuriy!
Во-первых, совет общего свойства. Не надо использовать lstrlen/lstrcpy и т.д... Для этого есть строковые операции в асме, да и быстрее будет. Зачем прогать на асме, если в программе используются только WinApi функции?
В Вашем случае вообще надо использовать sizeof, так как строка уже определена...
А прога естественно работать не будет. Вы когда вызываете lstrcpy, ему что передаете? Надо вызывать так:
invoke lstrcpy, pGlobal, offset StringToPutToClipboard
А вы передали ссылку на ссылку(так как добавили addr перед
pGlobal). А вообще прежде чем задавать такие вопросы,
надо посмотреть, что происходит в отладчике...
Извиняюсь за такой резкий тон ;)
Ответ отправлен: 08.08.2003, 20:50
Отправитель: Zedr0n
Отвечает Евгений Иванов
Здравствуйте, Yuriy!
На Ассемблере пишешь не так, как на C.
Проверь!
И нужно создавать память с помощью GlobalAlloc
with the GMEM_MOVEABLE and GMEM_DDESHARE flags.
Ответ отправлен: 06.08.2003, 23:40
Отправитель: Евгений Иванов
Вопрос № 3862 |
Hi,
Где можно взять документацию по IL .Net и вообще стоит ли её читать, почему то авторы книг по .Net часто приводят результаты ILDasm.exe.
Best regards. Grigory.
Вопрос отправлен: 06.08.2003, 16:35
Отправитель: Grigory Bushuev (gbush@penza.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает dimka
Доброе время суток, Grigory Bushuev!
Не читал-не знаю!!
Ответ отправлен: 07.08.2003, 10:50
Отправитель: dimka
Вопрос № 3863 |
Уважаемые эксперты.
Как можно контролировать состояние процесса(завис он, или нормально работает) запущенного функцией ShellExecute. Его HWND имеется.
Вопрос отправлен: 06.08.2003, 16:41
Отправитель: Anna
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Доброе время суток, Anna!
А что означает, что процесс "завис"? С точки зрения компьютера он не завис, а продолжает работать абсолютно так же как и все остальные процессы. И HWND имеется не у процесса, а у его окна. И этого HWND не достаточно, чтобы завершить процесс, так как даже если закрыть окно, то процесс может остаться работать (или висеть :).
Ответ отправлен: 07.08.2003, 07:29
Отправитель: ASMодей
Отвечает masquer
Доброе время суток, Anna!
Ну так если HWND имеется, то всеми функциями, которые его используют, можно пользоваться. А при чем тут ShellExecute? Или вы полагаете, что то, что возвращает ShellExecute это - hWnd запущенного процесса? :)))))))))))
Девушка, MSDN курите до полного изнеможения.
Ответ отправлен: 07.08.2003, 11:17
Отправитель: masquer
Отвечает Zedr0n
Приветствую Вас, Anna!
Никак нельзя. Потому что HWND к процессу очень мало отношения имеет, он только к окнам. Запускать приложения надо с помощью CreateProcess, так как он возвращает
структуру PROCESS_INFORMATION, после чего с помощью hProcess, можно процесс прибить, например так:
invoke TerminateProcess,eax
где в eax - hProcess.
А ShellExecute - это не то...
Ответ отправлен: 08.08.2003, 20:54
Отправитель: Zedr0n
Вопрос № 3864 |
Ламерский вопрос: как создать и использовать combobox в Tasm'e. Если можно, то примерчик-другой или ссылочку. Спасибо.
Вопрос отправлен: 06.08.2003, 18:48
Отправитель: Phil aka Philsnick (philsnick@nm.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Zedr0n
Добрый день, Phil aka Philsnick!
Что значит в Tasm'e? По-моему никакой разницы, что в Tasm'e, что в Masm'e, что в Сях нет. Вызываешь CreateWindow
c именем класса "COMBOBOX" и работаешь. Читай MSDN и/или Petzold'a. Если нет MSDN'а, достань, все равно понадобится.
Удачи!
Ответ отправлен: 08.08.2003, 20:57
Отправитель: Zedr0n
Отвечает dimka
Здравствуйте, Phil aka Philsnick!
www.wasm.ru
Ответ отправлен: 07.08.2003, 10:48
Отправитель: dimka
Отвечает Bob Johnson
Здравствуйте, Phil aka Philsnick!
Создается он вызовом функции CreateWindowEx если класс окна имеет значение "Button" и заданы необходимые стили. Более подробно - см. MSDN.
Для работы ему посылаются сообщения BM_GETCHECK и BM_SETCHECK. Первое определяет текущее состояние, второе - позволяет задать его.
* EMan1.4: ---===*** Die young - live free ***===---
Ответ отправлен: 08.08.2003, 15:52
Отправитель: Bob Johnson
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (37) C / C++ (28) Perl (3) Builder / Delphi (19) Pascal (25) Basic / VBA (12) Java / JavaScript (10) PHP (7) Криптография (9) WinAPI (16) |
Пользователю Windows 95/98/Me (48) Windows NT/2000/XP (52) "Железо" (43) Поиск информации (26) |
Администратору Windows NT/2000/XP (27) Linux / Unix (12) |
Юристу Гражданское право (10) Семейное право (6) Трудовое право (7) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||