изменения Dialog API?

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

изменения Dialog API?

Post by CrOm »

в одном из моих плагинов есть динамически изменяемое окно.

на нем есть две полосы прокрутки, выполненные текстоовыми строками типа таких: =========|==========

раньше, шелчек в любое место этой строки обрабатывался, и бегунок перемещался в эту позицию, но с установки фара 1.7. альфа 6 (1973) (если я не ошибаюсь) шелчки мыши перестали обрабатываться.

это плановое изменение? если да, то как мне быть теперь? если нет, то исправьте этот баг, пожалуйста.
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Можно увидеть соот. код из твоих плагинов?
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Post by CrOm »

можно. вот обработчик кликов мыши:

switch(Msg)
{
case DN_INITDIALOG:
/* тра ля ля*/

case DN_ENTERIDLE:
/* тра ля ля*/
case DN_MOUSECLICK:
switch (Param1)
{
case 4: //Volume
Info.SendDlgMessage(hDlg,DM_GETDLGRECT,0,(long)&Rect);
Pos = ((MOUSE_EVENT_RECORD*)Param2)->dwMousePosition.X-Rect.Left-12;
JmpToVolumePosition(Pos);
SetVolumePosition(hDlg);
SetTime(hDlg);
SetStatus(hDlg, qpStatus);
SetTrackPosition(hDlg);
return TRUE;
case 6: //Track
Info.SendDlgMessage(hDlg,DM_GETDLGRECT,0,(long)&Rect);
Pos = ((MOUSE_EVENT_RECORD*)Param2)->dwMousePosition.X-Rect.Left-5;
JmpToTrackPosition(Pos);
SetTrackPosition(hDlg);
SetStatus(hDlg, qpStatus);
SetVolumePosition(hDlg);
SetTime(hDlg);
return TRUE;
case 1: //Time
Opt.ReverseTime = !Opt.ReverseTime;
SetTime(hDlg);
SetStatus(hDlg, qpStatus);
SetTrackPosition(hDlg);
SetVolumePosition(hDlg);
return TRUE;
}


вот. все case N - соответствующие номера из вот этой структуры

struct InitDialogItem InitItems[]={
/* 0 */{DI_DOUBLEBOX, 3, 1,68, 9, 0, 0, 0, 0,(char *)MMain},
/* 1 */{DI_TEXT, 5, 2, 0, 0, 0, 0, 0, 0," 00:00"},
/* 2 */{DI_TEXT, 12, 2, 0, 0, 0, 0, DIF_SHOWAMPERSAND, 0,NULL},
/* 3 */{DI_TEXT, 5, 4, 0, 0, 0, 0, 0, 0," Stop "},
/* 4 */{DI_TEXT, 12, 4, 0, 0, 0, 0, 0, 0,VolumeBar},
/* 5 */{DI_TEXT, 34, 4, 0, 0, 0, 0, 0, 0,"<<< Volume"},
/* 6 */{DI_TEXT, 5, 6, 0, 0, 0, 0, 0, 0,TrackBar},
/* 7 */{DI_TEXT, 5, 7, 0, 0, 0, 0, 0, 0,""},
/* 8 */{DI_BUTTON, 5, 8, 0, 0, 0, 0, DIF_NOBRACKETS|DIF_NOFOCUS, 0,(char*)MKeyRev},
/* 9 */{DI_BUTTON, 9, 8, 0, 0, 0, 0, DIF_NOBRACKETS|DIF_NOFOCUS, 0,(char*)MKeyPlay},
/* 10 */{DI_BUTTON, 13, 8, 0, 0, 0, 0, DIF_NOBRACKETS|DIF_NOFOCUS, 0,(char*)MKeyPause},
/* 11 */{DI_BUTTON, 17, 8, 0, 0, 0, 0, DIF_NOBRACKETS|DIF_NOFOCUS, 0,(char*)MKeyStop},
/* 12 */{DI_BUTTON, 21, 8, 0, 0, 0, 0, DIF_NOBRACKETS|DIF_NOFOCUS, 0,(char*)MKeyForw},
/* 13 */{DI_BUTTON, 35, 8, 0, 0, 0, 0, DIF_NOBRACKETS|DIF_NOFOCUS, 0,""},
/* 14 */{DI_BUTTON, 39, 8, 0, 0, 0, 0, DIF_NOBRACKETS|DIF_NOFOCUS, 0,"[R]"},
/* 15 */{DI_TEXT, 44, 8, 0, 0, 0, 0, DIF_NOBRACKETS|DIF_NOFOCUS, 0,(char*)MRMNone}
};


приложение я не пепрекомпилировал, просто смемнил версию фара и все перестало работать
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Говорят что в 2037 должно быть пофиксено.
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Post by CrOm »

t-rex wrote:Говорят что в 2037 должно быть пофиксено.
кто говорит? :)

скачал у становил. таже проблема...
на всякий случай вечером еще потестирую
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

CrOm, если плагин небольшой, вложи его сюда.
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Post by CrOm »

Skirda wrote:CrOm, если плагин небольшой, вложи его сюда.
ок. как до дома доберусь, то вложу
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Post by CrOm »

CrOm wrote:
Skirda wrote:CrOm, если плагин небольшой, вложи его сюда.
ок. как до дома доберусь, то вложу
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

У меня твой плагин вобще не запускается. Выложи тестовый плагин с сорцами где видно багу. И также я всё ни как не пойму нафига ты вот это делаешь:
Info.SendDlgMessage(hDlg,DM_GETDLGRECT,0,(long)&Rect);
Pos = ((MOUSE_EVENT_RECORD*)Param2)->dwMousePosition.X-Rect.Left-12;
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Post by CrOm »

t-rex wrote:У меня твой плагин вобще не запускается. Выложи тестовый плагин с сорцами где видно багу.
эххх нет времени написать этот тестовый плагин... а почему не запускается? там все просто до невозможности. у нескольких знакомых стоит и прекрасно работает.
t-rex wrote: И также я всё ни как не пойму нафига ты вот это делаешь:
Info.SendDlgMessage(hDlg,DM_GETDLGRECT,0,(long)&Rect);
Pos = ((MOUSE_EVENT_RECORD*)Param2)->dwMousePosition.X-Rect.Left-12;
делаю я это это чтобы определить, куда по полосе прокрутки ткнул юзер, чтобы перемотать туда звуковой файл.

это можно сделать как-то иначе?
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Так, запустить плагин получилось, мешало то что он себя в меню плагинов называет HlfViewer :shock:
Баг, я вроде понял в чём, пока можешь выставить x2 для всех DI_TEXT чтоб работало как надо.
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Post by CrOm »

t-rex wrote: Баг, я вроде понял в чём, пока можешь выставить x2 для всех DI_TEXT чтоб работало как надо.
чтозначит x2???
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

{DI_TEXT, 12, 4, 0, 0, 0, 0, 0, 0,VolumeBar}
---------------------^ x2
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Post by CrOm »

супер! оно снова работает. спасибо
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
Post Reply

Return to “Разработка плагинов”