Перейти к содержанию
Fire Monkey от А до Я

Просто Проги

Пользователи
  • Постов

    65
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Просто Проги

  1. Привет всем,Суть такова вот эта процедура не работает что не правильно ? или LsImage не может так делать напрямую как делал Listbox ?

    делаю в цикле

    for I := 0 to Length(tovar)-1 do
     begin

    TListItemImage(Item.Objects.FindDrawable('Img')). Bitmap.LoadFromUrl(tovar.img);

    end;

    В товар находится адрес картинки всё как бы правильно, но не выгружает(

  2. Возможно ли как то скруглить края trackbar что бы он не был квадратным пробовал через стили но не получается ,если есть возможно подскажите

    вот такие артефакты получаются

    7.png

  3. да тут одна кнопка вот так выглядит событие ) просто знакомлюсь с NetHTTPClient1 та как надоело на idhttp таскать библиотеки ssl (

    procedure TForm1.Button3Click(Sender: TObject);
    var
    res,data:TStringList;
    s,ip_h,lg_h:string;
    begin
    data:=TStringList.Create;
    ip_h:= edit3.Text;
    lg_h:= edit4.Text;
    data.Add('email='+edit1.text);
    data.Add('pass='+edit2.text);
    NetHTTPClient1.HandleRedirects:=true;
    NetHTTPClient1.Post('https://login.vk.com/?act=login&_origin=https://m.vk.com&ip_h='+ip_h+'&lg_h='+lg_h+'&role=pda&utf8=1',data).ContentAsString;
    end; 

     

  4. Мистика походу )Решил я как то сдалать по быстрому авторизацию для вк и решил пробовать новый NetHTTPClient1 и вроде бы всё норм, но как только я делаю так

    NetHTTPClient1.Post('https://login.vk.com/?act=login&_origin=https://m.vk.com&ip_h='+ip_h+'&lg_h='+lg_h+'&role=pda&utf8=1',data).ContentAsString;

    то сразу получаю ошибку мол параметры заданы не верно, о каких параметрах идет речь всё же вроде правильно версия делфи 10 Seattle.

  5. На многих сайтах наблюдал такую штуку наводишь открывается меню убрал скрылась пробовал использовать для этого expander по свойству он напоминает то что я хочу сдалеть, но если его прикрепить к панели он не открывается так как нужно,т.е он должен перекрывать форму.

     

    ту.jpg

  6. Пришла беда от куда не ждали, поигравшись с listbox понял что для больших данных он как то лагает решил перейти на listview и о чудо быстродействие и всё такое, но вот когда я хочу очистить его с помощью

    ListView1.Items.Clear;

    то получаю данную ошибку,как то можно избежать данной проблемы или нужно переходить на более новую версию сейчас на 10 seatle работаю.

     

     

  7. 17 часов назад, ZverA4 сказал:

    А получить указатель на Item возможно?

    * item = ListView1.Items[0]

    И ... блин, как проверить выбран ли Item в ListView или нет, если выбран то какой (Index)?

    тебе нужно знать какой сейчас элемент выбран в listview тогда так можно попробовать.

    label.Text:=ListView1.Selected.Index.ToString(); покажет какой элемент сейчас выбран в listView

  8. Сделал на чистом примере  так, но нечего не происходит замкнутый круг походу:blink:

    unit Unit1;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,Winapi.Messages,FMX.Platform.Win,Winapi.Windows;
    
    type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
      procedure WindowProc(var AMsg: TMessage);
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      FWnd:HWND;
    implementation
    
    {$R *.fmx}
    
    { TForm1 }
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    //FWnd := WindowHandleToPlatform(Self.Handle).Wnd;
    FWnd := AllocateHWnd(WindowProc);
    RegisterHotKey(FWnd, Ord('U'), 0, Ord('U'));
    end;
    
    procedure TForm1.WindowProc(var AMsg: TMessage);
    begin
    case AMsg.Msg of
        WM_HOTKEY:
          case TWMHotKey(AMsg).hotkey of
            1: ShowMessage('Событие первого hotkey');
            2: ShowMessage('Событие первого hotkey');
          end;
      end;
    end;
    
    end.

     

  9. Это тоже пробовал результата 0 компилится но события так и нет(

    Всё спасибо всем всё заработало))

    Походу рано радовался на одно событие работает, а второе нет как можно проверить что именно данный hot key был нажат
     

     if Assigned(frm) and (uMsg = WM_HOTKEY) then
      begin
    
    ShowMessage('событие след трек');
      end;

    задаю hot следующим методом

    RegisterHotKey(WindowHandleToPlatform(Self.Handle).Wnd, Ord('U'), 0, Ord('U')); //регистрац. гор. клавиши U

     

  10. Спасибо,буду пробовать)

    вообщем сделал всё как по примеру компилится ошибок нет но и события не происходит опять что ли handle не находит? код выглядит вот так

    походу опять что то накосячил
     

    Спойлер
    
    unit Unit1;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      {$IF Defined(WIN32) OR Defined(WIN64)}
      System.Generics.Collections, Winapi.Windows, FMX.Platform.Win, Winapi.Messages,
      {$ENDIF}
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
      FMX.Controls.Presentation, FMX.StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      {$IF Defined(WIN32) OR Defined(WIN64)}
      private
       class var Callbacks: TDictionary<HWND, Pointer>;
       class constructor ClassCreate;
       class destructor ClassDestroy;
        procedure OnHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
     protected
        procedure CreateHandle; override;
        procedure DestroyHandle; override;
      {$ENDIF}
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.fmx}
    {$IF Defined(WIN32) OR Defined(WIN64)}
    
    { TfrmPersistent }
    function WindowProc(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
    var
      frm: TCommonCustomForm;
      oldProc: Pointer;
    begin
      frm := FindWindow(hwnd);
    //Здесь я так понимаю происходит событие присвоения и проверка uMsg на параметр WM_GETMINMAXINFO,возможно ли здесь так же передавать кнопку горячую или сочитания ? 
      if Assigned(frm) and (uMsg = WM_GETMINMAXINFO) then
      begin
        with PMinMaxInfo(LParam)^.ptMinTrackSize, frm do
        begin
          X := 950 + Width - ClientWidth;
          Y := 500 + Height - ClientHeight;
        end;
    
        Result := 0;
      end else
    
      if TForm1.Callbacks.TryGetValue(hwnd, oldProc) and Assigned(oldProc) then
        Result := CallWindowProc(oldProc, hwnd, uMsg, wParam, lParam)
      else
        Result := DefWindowProc(hwnd, uMsg, wParam, lParam);
    end;
    procedure TForm1.CreateHandle;
    var
      wnd: HWND;
    begin
      inherited CreateHandle;
    
      wnd := FormToHWND(Self);
    
      if wnd <> 0 then
      begin
        Callbacks.Add(wnd, Ptr(GetWindowLongPtr(wnd, GWLP_WNDPROC)));
    
        SetWindowLongPtr(wnd, GWLP_WNDPROC, NativeInt(@WindowProc));
      end;
    end;
    procedure TForm1.DestroyHandle;
    var
      wnd: HWND;
      oldProc: Pointer;
    begin
      wnd := FormToHWND(Self);
    
      if (wnd <> 0) and Callbacks.TryGetValue(wnd, oldProc) then
        SetWindowLongPtr(wnd, GWLP_WNDPROC, NativeInt(oldProc));
    
      inherited DestroyHandle;
    end;
    
    class constructor TForm1.ClassCreate;
    begin
      Callbacks := TDictionary<HWND, Pointer>.Create;
    end;
    
    class destructor TForm1.ClassDestroy;
    begin
      Callbacks.Free;
    end;
    {$ENDIF}
    procedure TForm1.OnHotKey(var Msg: TWMHotKey);
    begin
       inherited;
     ShowMessage('stop');
    end;
    
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    // RegisterHotKey(hwnd, Ord('U'), 0, Ord('U')); //гор. клавишиа U
    end;

     

  11. кстате забавная ситуация

     RegisterHotKey(FWnd, Ord('U'), 0, Ord('U'));

    сейчас попробовал написать в браузере букву u но не получается значит клавиши назначилась осталось как то её передать форме возможно метод Form.Dispatch поможет можно поподробнее как этот метод использовать первый раз про такой метод слышу.(

×
×
  • Создать...