HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Tartomány és számítógép név választó dialóg ablak


Példaprogram letöltése

4177 bájt

A Delphi Dialogs palettáján számos szabvány Windows dialóg ablak található. Azonban van jó néhány olyan ablak az operációs rendszerben, melyek nem érhetők el ilyen egyszerű módon. Ilyen például az az ablak is, melynek segítségével a hálózaton elérhető tartományok és az azon belül található számítógép nevek között tallózhatunk.
Mellékelt példában ezt az ablakot próbáljuk előcsalogatni a Windows-ból.

Található egy függvény a ntlanman.dll-ben SystemFocusDialog névvel, mely a bevezetőben leírt funkciójú ablakot valósítja meg. Ahhoz, hogy ezt a függvényt használni tudjuk a Delphi-ből, külsőként kell deklarálnunk az alábbi módon:
function SystemFocusDialog(hwndOwner: HWND; dwSelectionFlag: UINT; wszName: PWideChar; dwBufSize: DWORD; var bOKPressed: Boolean; wszHelpFile: PWideChar; dwContextHelpId: DWORD): DWORD; stdcall; external 'ntlanman.dll' Name 'I_SystemFocusDialog';
A függvény egyszerűbb felhasználásához készítünk egy belső függvényt ShowSystemFocusDialog néven. E függvény két paramétert vár, az első lesz az a buffer terület, ahova a kiválasztott tartomány vagy számítógép neve kerül, második paraméterben e buffer terület méretét kell megadnunk.
function ShowSystemFocusDialog(buffer: PWideChar; len: DWORD): Boolean;
begin
  result:=false;
  SystemFocusDialog(0, FOCUSDLG_SERVERS_DOMAINS or  FOCUSDLG_BROWSE_ALL_DOMAINS, buffer, len, result, nil, 0);
end;
Ezek után már egyszerű a feladatunk, csak meg kell hívnunk az imént készített függvényünket, mely igaz értékkel tér vissza abban az esetben, ha a felhasználó választott valamilyen nevet, illetve hamissal, ha a Mégsem gombbal zárta be az ablakot.
procedure TForm1.Button1Click(Sender: TObject);
var
  buffer: array [0..MAX_COMPUTERNAME_LENGTH + 1] of WideChar;
begin
  if ShowSystemFocusDialog(buffer, MAX_COMPUTERNAME_LENGTH + 1) then begin
    Label1.Caption:=buffer;
  end else begin
    Label1.Caption:='';
  end;
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 491. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |