Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2008, 19:45   #1
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
Вопрос qip, изменение статуса программно

как програмно поменять статус сообщение qip. например на строку из Edit1
DeDoK вне форума Ответить с цитированием
Старый 12.11.2008, 00:26   #2
maxvodo.dll
Пользователь
 
Аватар для maxvodo.dll
 
Регистрация: 24.10.2008
Сообщений: 17
По умолчанию

есть QIP SDK - для Delphi. Не знаю, есть ли там такая функция\процедура, но покопаться стоит http://forum.qip.ru/forumdisplay.php?f=92
maxvodo.dll вне форума Ответить с цитированием
Старый 12.11.2008, 19:08   #3
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

Нету там такого. посоветовали на asechke сделать так:
Handle := FindWindow('TPanel', nil); - ищет окошко смены x-status в QIP2005, если конечно оно сделано панелью.

SendMessage(Handle, WM_SETTEXT, 0, 'newtext');

Но толи я такой грамотей толи сове такой но ничего не вышло. окно не нашлось и текст не поменялся. до и вобще не прокомпилировало ничего
Может есть кого какие предложения?
DeDoK вне форума Ответить с цитированием
Старый 12.11.2008, 22:17   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,087
По умолчанию

Прочитать статус QiP 8070 можно как-то так:
Код:
var
  str: PChar;
  h: HWND;
  hPanel1: HWND;
  hPanel2: HWND;
  hEdit1: HWND;
  hEdit2: HWND;
begin
  h := FindWindow('TCusForm',nil);
  hPanel1 := FindWindowEx(h,0,'TPanel',nil);
  hPanel2 := FindWindowEx(h,hPanel1,'TPanel',nil);
  hEdit1 := FindWindowEx(hPanel2,0,'TEdit',nil);
  hEdit2 := FindWindowEx(hPanel2,hEdit1,'TEdit',nil);

  GetMem(str,100);
  SendMessage(hEdit1,WM_GETTEXT,100,Integer(PChar(str)));
  Edit1.Text := str;
  SendMessage(hEdit2,WM_GETTEXT,100,Integer(PChar(str)));
  Edit2.Text := str;
  FreeMem(str,100);
в Edit1 и Edit2 будут записаны соответственно статусы расширенные
а вот с изменением чота у меня шляпа какая-то вышла. не меняеца и всё тут
pu4koff вне форума Ответить с цитированием
Старый 12.11.2008, 22:42   #5
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

Спасибо огромное за чтение статуса=) это уже большой плюс! Я попробую через SETTEXT поменять значения статуса=) если не получиться я еще напишу
DeDoK вне форума Ответить с цитированием
Старый 13.11.2008, 12:39   #6
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

Уважаемый pu4koff вы ведь знаете, чтобы сменить статус-сообщение qip надо ввести его в тот самый hEdit1 и нажать кнопку Ок. Иначе статус не установиться.
Вот только как найти эту кнопку как то надо (хотя там больше панель чем кнопка). Я пробовал искать через FindWindowEx но помоему гдето ошибся.
Статус можно установить с помощью
Код:
SendMessage(hEdit1,WM_SETTEXT,SetText,Integer(PChar(Edit1.Text)));
а вот применить его надо кликом на панель Ok
DeDoK вне форума Ответить с цитированием
Старый 13.11.2008, 13:33   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,087
По умолчанию

вот так вроде работает:
Код:
  SendMessage(hEdit1,WM_SETTEXT,0,Integer(PChar(Edit1.Text)));
  SendMessage(hEdit2,WM_SETTEXT,0,Integer(PChar(Edit2.Text)));

  hOK := FindWindowEx(hPanel2,0,'TPanel','OK');
  PostMessage(hOK,WM_LBUTTONDOWN,0,0);
  PostMessage(hOK,WM_LBUTTONUP,0,0);
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
QIP Altera Софт 19 07.10.2008 11:08
qip + irc Спартак Софт 0 19.07.2008 21:44
взаимодействие с QIP Toxa Общие вопросы Delphi 5 20.06.2008 19:39
qip 8030 bombardir Софт 3 15.09.2007 20:28