Tipy a triky v Delphi, díl 17.

Diskuze čtenářů k článku

Petr Jezek  |  14. 11. 2001 11:35  | 

Celkem zajimave, jen bych pro zmenu Caption tlacitek nepouzil test na aktulani hodnotu, ale vlastnost ModalResult tlacitka:

    case Btn.ModalResult of
      mrOk    : Btn.Caption := '&OK';
      mrCancel: Btn.Caption := '&Storno';
      mrAbort : Btn.Caption := '&Prerus';
      mrRetry : Btn.Caption := '&Znovu';
      mrIgnore: Btn.Caption := '&Ignoruj';
      mrNo    : Btn.Caption := '&Ne';
      mrYes   : Btn.Caption := '&Ano';
      mrAll   : Btn.Caption := '&Vse';
      mrNone  : if mbHelp in Buttons then Btn.Caption := '&Pomoc';
    end;

Souhlasím  |  Nesouhlasím  |  Odpovědět
czbird  |  15. 11. 2001 11:56  | 

Velice by mne zajímalo, jak lze vyvolat print spooler okno pro jednotlivou tiskárnu (tzn. okno, které se zobrazí po dvojkliku na tiskárnu  v CPL Tiskárny). Zjistil jsem, jak vyvolat CPL Tiskárny, ale to je asi tak vše. Jestli to někdo náhodou ví, ať se ozve, už nat tím marně dumám dost dlouho.

 

PS: Ano, vím ,že to lze celkem jednoduše celé naprogramovat, ale já bych raději volal originál z Windows...

 

Souhlasím  |  Nesouhlasím  |  Odpovědět
Peter Ondras  |  25. 11. 2001 15:35  | 

K 17 dielu tipov pre Delphi dodavam: CPL aplet je mozne spustit aj programovo. (Kod treba upravit podla testov na vsetky aplety. S uvedenym kodom su pri niektorych apletoch chyby.)

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TAppletDialog = function(hWndCPL : hWnd; iMEssage : integer; lParam1 : longint; lParam2 : longint):LongInt; StdCall;
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    procedure RunApplet(const S:String);
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.RunApplet(const S: String);
var UniversalDialog:TAppletDialog;
    hDllInst:THandle;
begin
  if Length(S)>4 then
    begin
      hDllInst:=LoadLibrary(PChar(S));
      if hDllInst<=0 then
        Raise Exception.Create('Chyba '+IntToStr(GetLastError)+' pri pokuse o načítanie Control Panel Appletu.');
      try
        @UniversalDialog:=GetProcAddress(hDllInst, 'CPlApplet');
        if not Assigned(UniversalDialog) then
          WinExec(PChar('rundll32 shell32.dll,Control_RunDLL '+S+',,0'),SW_SHOW);
        UniversalDialog(Application.Handle, CPL_DBLCLK, 0, 0);
      finally
        FreeLibrary(hDllInst);
      end;
    end;
end;

end.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor

Aktuální číslo časopisu Computer

Test 9 bezdrátových reproduktorů

Jak ovládnout Instagram

Test levných 27" herních monitorů

Jak se zbavit nepotřebných věcí na internetu