Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 2
Всего онлайн: 2
Зарегистрировано юзеров: 6754
Комментариев на сайте: 651
Новый юзер: LeninDral



Последние комментарии
c
Rodneyhef прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
Zauważże, czym cechują się kredyty na sześcdziesięciu dni. Jako co zwrócić uwagę podczas asortymentu oferty? Które firmy użyczają chwilówek za taki czas? Sprawdź! [url=https://chwilowki-pozyczka.pl/]chwilówki[/url] [url=https://chwilowki-pozyczka.pl/chwilowki-online]chwilówki online[/url] [url=https://chwilowki-pozyczka.pl/pozyczki-na-raty]pożyczki ratalne[/url] [url=https://chwilowki-pozyczka.pl/kredyty-gotowkowe]kredyty gotówkowe[/url] Zdecydowana większość pożyczek krótkoterminowych udzielana jest od okres nie zaakceptować dłuższy niźli dwa miesiące. Krótki słowo spłaty wydaje się być charakterystyczny na rzecz tego rodzaju wytworów finansowych. Firmy pożyczkowe wprowadziły także zastrzeżenia, skutkujące tym, że nie każdy klient będzie mógł momentalnie zaciągnąć wzięcie pożyczki na 60 dni. W poniższym artykule podpowiadamy, na jak zwrócić uwagę, postanawiając się pod ten typ dofinansowania, na czym polegają opisane ograniczenia, oraz pokazujemy, które obecne na rynku firmy użyczają pożyczek dzięki 60 dni. chwilowki-pozyczka.pl Termin kredyty jest jednym z kluczowych składników mających bezpośredni wpływ jako całkowite koszty zobowiązania. Alternatywa krótszego czy dłuższego sezonu ma przełożenie na wysokość RRSO, innymi słowy rzeczywistej rocznej stopy oprocentowanie informującej nas w stosunku procentowym o kosztach związanych z pożyczką. Jest to pierwszy element, na który trzeba zwrócić szczególną uwagę w chwili wyboru możliwości. Drugim elementem jest uważna ocena spersonalizowanych możliwości kredytowych, co koniecznie musi towarzyszyć zaciąganiu jakiegokolwiek zobowiązania. Być może będziemy potrzebować produktu finansowego, którego spłata wydaje się znacznie dłuższa. Wówczas winniśmy zdecydować się jako pożyczki od raty. Warto również stwierdzić o aplikowanych przez spółki pożyczkowe ograniczeniach, wynikających spośród realizacji strategii ryzyka. Ochraniając się zanim niewypłacalnością pożyczkobiorców, instytucje finansowe przedłożyły szereg wielu ograniczeń, oddanych w szczególności dla osób nowych odbiorców. Ci pożyczkobiorcy, którzy zaciągają chwilówkę na raz 1 w podanej firmie, niejednokrotnie nie mogą liczyć na termin dłuższy niźli 30 dni. Poza tym wiążą ograniczenia szczególne dla kredytów krótkoterminowych. Przemówienie między innymi na temat weryfikacji petentów w charakteryzujących się ogromną popularnością rejestrach dłużników, ukończenie 21. roku egzystencji czy identyfikacja maksymalnej poziomie pożyczki. Pożądane byłoby podkreślić, hdy znaczna część przedsiębiorstw nie udziela pożyczek o dłuższym okresie w ogóle, co ponadto nie jest rezultatem wprowadzenia ograniczeń, a wynika po prostu wraz z oferty.
dealrattKi прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Это действительно радует меня. --- Бесподобное сообщение скачать fifa, скачать фифа а также [url=http://15fifa.ru/novosti-fifa-15]fifa 15 последние новости[/url] скачать фифа

Работать с Tray без компонентов

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

Во первых изменим стандартный TNotifyIconData на Z_TrayNotify, т.к. в стандарте szTip имеет 63 символа и это не очень удобно.

type
  Z_TrayNotify = record
    cbSize: DWORD;
    Wnd: HWND;
    uID: UINT;
    uFlags: UINT;
    uCallbackMessage: UINT;
    hIcon: HICON;
    szTip: array [0..MAXCHAR] of AnsiChar;
  end;
Во вторых добавим
const
  Ztray = WM_USER + 202;
Теперь две функции которые будут работать с трей.

function Z_AddTray(const Window: HWND; const IconID: Byte; const Icon: HICON;
    const dwMsg: Cardinal; const Hint: string = ''): Boolean;
var
  NID: Z_TrayNotify;
begin
  FillChar(NID, SizeOf(Z_TrayNotify), 0);
  with NID do
  begin
    cbSize := SizeOf(Z_TrayNotify);
    Wnd := Window;
    uID := IconID;
    uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;
    StrPCopy(szTip, Hint);
    hIcon := Icon;
    uCallbackMessage := ZTray;
  end
  Result := Shell_NotifyIcon(dwMsg, @NID);
end;
С помощью этой функции можно Добавлять и Изменять иконку и подсказку.

function Z_DeleteTray(const Window: HWND): Boolean;
var
  NID: Z_TrayNotify;
begin
  FillChar(NID, SizeOf(Z_TrayNotify), 0);
  with NID do
  begin
    cbSize := SizeOf(Z_TrayNotify);
    Wnd := Window;
  end;
  Result := Shell_NotifyIcon(NIM_DELETE, @NID);
end;
С помощью этой функции удаляем иконку из трей. В третьих добавим после private вот этот обработчик сообщения (ZTray)
function TrayNotify(var Msg: TMessage): boolean;
и конечно сам обработчик
function TForm1.TrayNotify(var Msg: TMessage): boolean;
{
 var
 cur: TPoint;
}
begin
  {GetCursorPos(Cur);}

  Result := false;
  case Msg.Msg of
    ZTray:
      case (Msg.LParam) of
        WM_RBUTTONUP: Application.Restore;

        {WM_RBUTTONUP:
        begin
          SetForegroundWindow(Form1.Handle);
          TrayMenu.Popup(cur.x, cur.y);
        end;}

        WM_LBUTTONUp: Application.Minimize;
      end;
    end;
end;
WM_LBUTTONUP - сворачивает приложение WM_RBUTTONUP - восстанавливает, еще можно добавить меню (TrayMenu - TPopupMenu) и убрать все что в скобках { } Теперь как с этим работать. Сразу при создании формы пишем
Application.HookMainWindow(TrayNotify);
Ставится hook на отлов сообщения. При close или destroy пишем
Z_DeleteTray(Application.Handle); // на всякий случай
Application.unHookMainWindow(TrayNotify);
Снимаем hook На форме 3 кнопки и TrayIcons - TImageList. TrayIcons имеет две картинки 1 кнопка - создание иконки
var
  tIc: TIcon;
begin
  tIc := TIcon.Create;
  TrayIcons.GetIcon(0, tIc);
  Z_AddTray(Application.Handle, 0, tIc.Handle, NIM_ADD,
    'ЛКМ = Свернуть.' + #13 +
    'ПКМ = Развернуть.');

  tIc.Free;
end;
2 кнопка - изменение иконки и подсказки
var
  tIc: TIcon;
begin
  tIc := TIcon.Create;
  TrayIcons.GetIcon(1, tIc);
  Z_AddTray(Application.Handle, 0, tIc.Handle, NIM_MODIFY,
    'Поменял Hint(подсказку) и иконку.' + #13 +
    'Всего Hint вмещает 128 символов');

  tIc.Free;
end;
3 кнопка - удаление иконки
Z_DeleteTray(Application.Handle);
Вот и всё, Удачи!

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 1 Октября 2017
Просмотров:


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.