Öncelikle formunuza applicationevents bileşenini alınız.
Daha sonra bu bileşenin onmessage olayına aşağıdaki kodları yazınız..
Kod: Tümünü seç
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
i: SmallInt;
begin
if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;
Handled := False;
end;
end;
Yanlız dbgrid'in keydownda şöyle bir problem yaşıyorum..
Aşağıdaki kodda dbgriddeki bilgileri editlere ve memoya aktarıp resimlerini databaseden çekiyorum.
Yanlız aşağı yukarı hareket ettikçe seçilen ile ilgili bilgi değilde bir önceki veya bir sonraki bilgi ekrana geliyor.Klavyenin ok tuşları ile aşağı hareket ederken seçili olan bilgiden bir önceki,aşağıdan yukarı hareket ederken bir sonraki bilgi geliyor.Bu konuda yardıma ihtiyacım var.
Kod: Tümünü seç
procedure TForm1.DBGrid3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
memo1.Clear;
xpedit4.Text:=dbgrid3.DataSource.DataSet.fieldbyname('ntno').AsString;
xpedit5.Text:=dbgrid3.DataSource.DataSet.fieldbyname('orgno').AsString;
xpedit6.Text:=dbgrid3.DataSource.DataSet.fieldbyname('description').AsString;
memo1.lines.strings[0]:=dbgrid3.DataSource.DataSet.fieldbyname('catalognotes').AsString;
picture:=dbgrid3.fields[3].AsString+'.jpg';
edit4.text:=picture;
deencrypt();
// maskedit1.EditMask:='';
if FileSearch(edit4.Text,way)<>'' then
begin
image1.Stretch:=false;
image1.Center:=true;
image1.Picture.LoadFromFile(way+edit4.text);
end;
end;
// Edit //
@mrmcop yazdı:// Başlığı Makalelerden Programlama'ya taşıyan : @mrmcop