[Delphi]Jak ukryć program na pasku zadań (obok Start)

0

Witam.
Mam problem gdy dynamicznie stworzyłem sobie TToolButton na ToolBat
i ustawiłem

...

procedure BTNFunc(text: String);
...

procedure TForm1.CreateForm(Sender: TObject)
var
CurrBTN: TToolButton;
begin
CurrBTN:=TToolButton.Create(...

...
CurrBTN.OnClick:=BTNFunc('text');
end;

procedure TForm1.BTNFunc(Text: String): NotifyEvent; //NotifyEvent - jakoś tak to było...
begin
memo.lines.add(text);
end;

to wywala błąd

ale jak zamiast
procedure TForm1.BTNFunc(Text: String): NotifyEvent;
jest
procedure TForm1.BTNFunc(Sender: TObject);
begin
ShowMessage('testowy txt');
...
i tam w type zmieniłem procedure BTNFunc(Sender: TObject);

Sory że nie dałem kolorowania składni...

0

Dowiedziałem się od mąrdrego i doświadczonego użytkownika z forum u1, tego co podejrzewałem,
że tak się zrobić nie da. Co najwyżej możesz wykombinować coś w stylu poniższego kodu. A jego
dokładna odpowiedź na gg brzmiała tak: "nie da sie | dowiazujesz pointer metody (stricet to pare
pointerow) | nie mozna dodac argumentow". A poniższe rozwiązanie trochę dziwne, ale działa ok.

//...
type
  TButtonEx = class(StdCtrls.TButton)
  private
    procedure ClickOnBtn(Sender : TObject);
  public
    FText : string;
    constructor Create(AOwner: TComponent; AText : string); virtual;
  end;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

constructor TButtonEx.Create(AOwner: TComponent; AText : string);
begin
  inherited Create(AOwner);
  ControlStyle := [csSetCaption, csDoubleClicks];
  TabStop := True;
  FText := AText;
  OnClick := ClickOnBtn;
end;

procedure TButtonEx.ClickOnBtn(Sender : TObject);
begin
  with Form1 do
  begin
    Memo1.Lines.Add(FText);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Btn : TButton;
begin
  Btn := TButtonEx.Create(Self, 'Test');
  Btn.Parent := Self;
end;
0

1.<ort>Niewiem</ort> czemu jest inny temat niż wpisałem, byc moze to błędy w proxy (przez nie chodze...)
2.Nie weim czemu dla kilku przycisku to działa ale jak jest ich ort! ponad 15 to ort! myli (wkleja nie to co trzeba)...
No nic trudno ort! ładować buttony z dll może to mi ort!
sry za błędy..

0

Zarejestruj się normalnie albo zaloguj, pomimo proxy jest to chyba możliwe.
Wtedy będziesz mógł edytować swoje posty i koniecznie poprawiać pisownie.

0
...
  private
     procedure BTNOnClick(Sender: TObject);
...
 Procedure ...
 begin
   CurBTN:=TToolButton.Create(Self);   
   CurBTN.Caption:=Text;                    //W Text przechowuje dane string (tylko 1 linia textu, bo nie potrzeba więcej)
   CurBTN.OnClick:=BTNOnClick;
end;
...
procedure TForm1.BTNOnClick(Sender: TObject);
{ta część odpowiada za znalezienie odpowiedniego edytora textu (aktywnego) }
var
i : Integer;
begin
 with Form1.TabEdit.ActivePage do
  begin
   for i := 0 to ControlCount -1 do
    begin
     if (Controls[i] is TSynMemo) then begin
        {Jak znajdzie to wkleja do niego w miejscu kursora zmienną Text z sekcji Caption która była ustalona przy tworzeniu przycisku}
     (Controls[i] as TSynMemo).SelText:=(TToolButton(Sender).Caption);
     end;
    end;
  end;
end;
...

I pięknie działa, dzięki za pomoc olesio podsunąłeś mi ten pomysł ;]

0

Kurde aż od Twoich błędów napisałem "zarejstrój", wstyd mi. A co do tego że string przechowa jedną linię to wcale nieprawda, a
jak chcesz dodać wiecej tesktu to w stringu dodaj znaki końca lini i zrób sobie Memo.Text := Memo.Text + Ftext. Przecież to są
banały, aż dziw bierze, że takie rzeczy musze pisac i wyjaśniać. A co do bana to coś pamiętam, że chciałem Tobie kiedyś odpisać,
no ale widzisz, niepotrzebnie chcesz robić jakieś malware czy nawet trojano podobne wtedy kombinuj sam lub naucz się podstaw.
Jak chciałeś pisać aplikację ktorą można sterować zdalnie to pisałem Tobie wtedy, najprościej TCP klient server ale w tym nie mam
zbyt dużego doświadczenia. A jak proste rzeczy to już kiedyś był o tym temat na forum można w Synapse albo Indy postawić na
localhostcie server www który będzie reagował na polecenia podwane w linku i na przykład robił zrzut ekranu, już był takie temat.

0

Biorą się za języki programowania, a kaleczką swój ojczysty. Dramat.

0

olesio napisał:
user image

lepiej pozwól przeglądarce samej dzielić tekst na wiersze…

0

Już tak się przyzwyczaiłem, że piszę zwykle to pełnej linijki i wciskam enter.
Uzywam Opery i pod Nią nawet powiększony post wygląda wedlug mnie ok.

0
olesio napisał(a)

Już tak się przyzwyczaiłem, że piszę zwykle to pełnej linijki i wciskam enter.
Uzywam Opery i pod Nią nawet powiększony post wygląda wedlug mnie ok.

U ciebie. Różni użytkownicy różne mają rozdzielczości, różne rozmiary czcionek ekranowych, różne rozmiary pasków narzędziowych (w tym bocznych) i różne inne czynniki, nad którymi normalnie przeglądarka jest w stanie zapanować wiedząc, ile ma miejsca na renderowanie tekstu.
Jeśli zajmujesz się programowaniem lub webdesignem, powinieneś wiedzieć, że to co działa lub dobrze wygląda u ciebie, nie oznacza że tak jest u każdego...

1 użytkowników online, w tym zalogowanych: 0, gości: 1