Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Focus setzen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Focus setzen (1897 mal gelesen)
Fan-ME10
Mitglied
DV-Adminstrator, Konstrukteur


Sehen Sie sich das Profil von Fan-ME10 an!   Senden Sie eine Private Message an Fan-ME10  Schreiben Sie einen Gästebucheintrag für Fan-ME10

Beiträge: 543
Registriert: 21.08.2001

Erare humanum est

erstellt am: 27. Feb. 2002 14:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Programmierer,
ich habe ein Programm um Daten in den Papierkorb zu verschieben schon von StefanBerlitz bekommen. Nun ist es so, daß ich dieses von ME10 aus aufrufe. Doch dann verliert das ME10 Fenster den Focus und man muß, wenn man weiterarbeiten will, erst dieses wieder anklicken. Das nervt. Gibt es den einen Weg dieses zu automatisieren.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MAiNFRAME
Mitglied
Fachinformatiker

Sehen Sie sich das Profil von MAiNFRAME an!   Senden Sie eine Private Message an MAiNFRAME  Schreiben Sie einen Gästebucheintrag für MAiNFRAME

Beiträge: 5
Registriert: 13.02.2002

erstellt am: 04. Mrz. 2002 14:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Fan-ME10 10 Unities + Antwort hilfreich

Hallo,

es gibt mehrere Möglichkeiten den Focus wieder auf das Programmfenster
zu setzen.
Die einfachste ist ein Aufruf von "Me.SetFocus".
Eine andere wäre die WinAPI-Funktionen zu benutzen, z.B. BringWindowToTop.

Eine gute Hilfe ist der API Viewer auf http://www.allapi.net .
In dieser Hilfe findest du alle API-Funktionen mit Programmbeispielen.

Ich hoffe ich konnte helfen.

MfG, MAiNFRAME.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Fan-ME10
Mitglied
DV-Adminstrator, Konstrukteur


Sehen Sie sich das Profil von Fan-ME10 an!   Senden Sie eine Private Message an Fan-ME10  Schreiben Sie einen Gästebucheintrag für Fan-ME10

Beiträge: 543
Registriert: 21.08.2001

Erare humanum est

erstellt am: 04. Mrz. 2002 15:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Mainframe,
nicht so ganz. Was hat es mit der Funktion Me.SetFocus auf sich, bzw. wo ist diese zu finden? Die API-Funktion habe ich gefunden. Leider fehlt ein Beispiel, wie man z.B. das gewünschte Fenster ermittelt. Ich  gehe doch recht in der Annahme, daß eine Nummer übergeben werden muß. Wäre nett wenn Du mir noch weitere Informationen geben könntest.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MAiNFRAME
Mitglied
Fachinformatiker

Sehen Sie sich das Profil von MAiNFRAME an!   Senden Sie eine Private Message an MAiNFRAME  Schreiben Sie einen Gästebucheintrag für MAiNFRAME

Beiträge: 5
Registriert: 13.02.2002

erstellt am: 08. Mrz. 2002 08:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Fan-ME10 10 Unities + Antwort hilfreich

Hallo nochmal,

Hast du denn nicht MSDN installiert, ist zum Nachschlagen von Befehlen und Syntax fast unerläßlich.
Naja, egal.
Also erstmal zu Me.SetFocus:
Me steht stellvertretend für dar aktuelle Fenster, man kann auch anstelle von Me den Formularnamen einsetzen.
Die Methode SetFocus bewegt den Fokus auf das angegebene Steuerelement oder das angegebene Formular, damit sollte es normalerweise auch gleichzeitig aktiviert werden.
Zu BringWindowToTop:
Es ist richtig das du das Fensterhandle, das ist eine Nummer, übergeben mußt. Das kannst du mit FindWindow bekommen. Du mußt nur der Funktion den Fenstertitel übergeben.

Beispiel:
'Deklaration der Funktionen
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function BringWindowToTop Lib "user32" _
(ByVal hwnd As Long) As Long

'Deklaration der Variablen
Dim MyWindow As Long 'Variable für das Fensterhandle

'Fensterhandle ermitteln und übergeben
MyWindow = FindWindow(vbNullString, "Mein Fenstertitel")

'Fenster in den Vordergrund holen
BringWindowToTop MyWindow

So, vielleicht hilft's dir jetzt weiter.

Gruß, MAiNFRAME.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MAiNFRAME
Mitglied
Fachinformatiker

Sehen Sie sich das Profil von MAiNFRAME an!   Senden Sie eine Private Message an MAiNFRAME  Schreiben Sie einen Gästebucheintrag für MAiNFRAME

Beiträge: 5
Registriert: 13.02.2002

erstellt am: 08. Mrz. 2002 08:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Fan-ME10 10 Unities + Antwort hilfreich

STOP!!!

Vorsicht beim Ausprobieren der Beispiele, hab gerade bemerkt, das ich bei der Deklaration der Funktion "FindWindow" nach dem "_" den Zeilenumbruch vergessen habe.
Also entweder nach dem Kopieren nach "_" noch einen Zeilenumbruch einfügen oder das "_" ganz weg lassen.

Sorry, MAiNFRAME.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz