Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mausrad nur bei Start aktiv (https://www.delphipraxis.net/103985-mausrad-nur-bei-start-aktiv.html)

ralle15 25. Nov 2007 18:08


Mausrad nur bei Start aktiv
 
Nabend

ich hab mal wieder ein Problem,
auf meiner Form befindet sich ein TWebBrowser und andere nackige Sachen die aber nicht so wichtig sind.
so nun zu meinen Problem ich hab das Mausrad auf der Form aktiv läuft auch beim ersten Start aber sobald ich meinen TWebBrowser
starte geht die Maus nur noch im TWebBrowser und nicht mehr auf der Form.
kann mir bitte einer helfen, Danke Ralle15
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    ComboBox1: TComboBox;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);

......

procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
VertScrollBar.Position := VertScrollBar.Position - 10;
end;
procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
VertScrollBar.Position := VertScrollBar.Position + 10;
end;
end.

Progman 25. Nov 2007 19:34

Re: Mausrad nur bei Start aktiv
 
MouseWheel-Events wirken immer auf dem Control, dass grad den Focus hat. Das ist eigentlich nicht zu ändern.

ralle15 25. Nov 2007 19:55

Re: Mausrad nur bei Start aktiv
 
also müsste doch eigentlich wen ich mein Datei im TWebBrowser geöffnet habe
und dann wieder dir Form anklicke wider die Form den Fokus haben.
aber wie sollte es anders sein bei mir nicht :(
Ich hab hier mal den kompletten Code vielleicht findet ja einer einen Fehler.
Delphi-Quellcode:
unit pdf;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls,ActiveX,FileCtrl, StdCtrls, OleCtrls, SHDocVw,IniFiles,jpeg ;


type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    ComboBox1: TComboBox;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
   

  private
    { Private-Deklarationen }
  public

    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  var1: String;
  Pfad: string;
  mask : string;
  text1: string;
  ini: TIniFile;

implementation

{$R *.dfm}
// ordner öffnen
procedure GetFileList(aMask : string;aList : TStrings);
begin
  aList.Clear;
  with TFileListBox.CreateParented(HWND(-3)) do
  begin
    try
      Mask := ExtractFileName(aMask);
      Directory := ExtractFilePath(aMask);
      FileType := [ftArchive];
      aList.Assign(items);
    finally
      Free;
    end
  end;
end;

  procedure TForm1.FormCreate(Sender: TObject);
begin
ini := TIniFile.Create('mmmpdf.ini');
// INI-Datei und initialisieren
try
var1 := ini.ReadString('Sektion1', 'pfad', 'c:\');
ini.UpdateFile;
finally
ini.Free
// Variable ini wieder freigeben
end;
GetFileList(var1 + '*.pdf',ComboBox1.Items);
image1.picture.loadfromfile(ExtractFilePath(ParamStr( 0 )) + 'logo.jpg');
 end;



  procedure TForm1.Button1Click(Sender: TObject);

var
  Param: OleVariant;
begin
  text1 := string(ComboBox1.Items[ComboBox1.ItemIndex]);
  WebBrowser1.Navigate((var1 + text1), Param, Param, Param, Param);
end;



procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
VertScrollBar.Position := VertScrollBar.Position - 10;
end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
VertScrollBar.Position := VertScrollBar.Position + 10;
end;

end.

himitsu 25. Nov 2007 20:27

Re: Mausrad nur bei Start aktiv
 
Eine Form kann (normalerweise) keinen Fokus besitzen.

man könnte wohl höchstens versuchen dem WebBrowser den Fokus zu entziehen
oder diesen einem anderem Control (Button, Edit, ....) zu geben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz