Модальное окно?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
dear
Обычный пользователь
Обычный пользователь
 
Сообщения: 68
Зарегистрирован: 23.01.2008 (Ср) 23:12

Модальное окно?

Сообщение dear » 23.01.2008 (Ср) 23:23

Из своего приложения посылаю в QuarkXpress сообщение:
SendMessage HandleW, WM_COMMAND, GetPictureMenuId, ByVal 0&
(HandleW - хэндл Кварка, GetPictureMenuId - ID пункта меню вставки bitmap)

Появляется окно кварка, но далее моя программа останавливается - ждет ввода имени файла (соответственно, я не могоу

не определить хэндл этого она и т.д)

Хотя, если я с этой же своей программы передаю в кварк
keybd_event vbKeyControl, 0, 0, 0
keybd_event vbKeyE, 0, 0, 0
keybd_event vbKeyE, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
то все нормально
Подскажите, пожалуйста, как с этим бороть

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 23.01.2008 (Ср) 23:56

PostMessage?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

dear
Обычный пользователь
Обычный пользователь
 
Сообщения: 68
Зарегистрирован: 23.01.2008 (Ср) 23:12

Сообщение dear » 24.01.2008 (Чт) 1:40

Спасибо, буду с утра пробовать.
Извините за, м.б. детский вопрос,
в чем отличие PostMessage от SendMessage?
(недавно пришлось садиться за учебники программирования - а в 40 лет тяжеловато учиться)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.01.2008 (Чт) 12:24

В том, что PostMessage просто помещает сообщение в очередь сообщений потока и сразу возвращает управление, а SendMessage не вернет управление до тех пор, пока не будет обработано сообщение.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

dear
Обычный пользователь
Обычный пользователь
 
Сообщения: 68
Зарегистрирован: 23.01.2008 (Ср) 23:12

Сообщение dear » 24.01.2008 (Чт) 22:19

Спасибо большое, буду пробовать


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: The trick и гости: 87

    TopList