
We are searching data for your request:
Upon completion, a link will appear to access the found materials.
Käytä tiettyä koodauskieltä ohjelmoimaan Delphi-sovellukset vihjeen tai työkaluvihjeen näyttämiseksi, kun hiiri siirtyy hiiren osoittimen valikkokomponentin päälle. Jos "ShowHint" -ominaisuuden arvoksi on asetettu "true" ja lisäät tekstiä "vihje" -ominaisuuteen, tämä viesti tulee näkyviin, kun hiiri asetetaan komponentin päälle (esimerkiksi TButton).
Ota vihjeitä valikkokohteille
Windowsin suunnittelutavan takia, vaikka asettaisit vihjeominaisuuden arvon valikkokohteeksi, ponnahdusikkunaa ei tule näkyviin. Windowsin Käynnistä-valikon kohteissa on kuitenkin näyttövihjeitä. Internet Explorerin suosikkivalikossa näkyvät myös valikkokohta Vihjeet.
Delphi-sovelluksissa on mahdollista käyttää globaalin sovellusmuuttujan OnHint-tapahtumaa näyttääksesi valikkokohtavihjeitä tilarivillä.
Windows ei paljasta perinteisen OnMouseEnter-tapahtuman tukemiseen tarvittavia viestejä. WM_MENUSELECT-viesti kuitenkin lähetetään, kun käyttäjä valitsee valikkokohteen.
TCustomFormin (TFormin edeltäjä) WM_MENUSELECT-toteutus asettaa valikkokohtavihjeeksi "Application.Hint", jotta sitä voidaan käyttää Application.OnHint -tapahtumassa.
Jos haluat lisätä valikkokohtien ponnahdusvinkkejä (työkaluvihjeitä) Delphi-sovellusvalikoihisi, keskity WM_MenuSelect-viestiin.
Popup Vinkkejä
Koska et voi luottaa sovellukseen.ActivateHint-menetelmä näyttää valikkokohtien vihjeikkuna (koska valikon käsittely on täysin Windowsin tehtävä), saadaksesi vihjeikkunan näyttöön, sinun on luotava oma versio vihjeikkunasta johtamalla uusi luokka. "THintWindow".
Näin luodaan TMenuItemHint-luokka. Tämä on vihje leski, joka todella näytetään valikkokohdissa!
Ensin on käsiteltävä WM_MENUSELECT Windows-viesti:
tyyppi
TForm1 = luokka(TForm)
…
yksityinen
menettely WMMenuSelect (var Msg: TWMMenuSelect); viesti WM_MENUSELECT;
pää…
täytäntöönpano…
menettely TForm1.WMMenuSelect (var Msg: TWMMenuSelect);
var menuItem: TMenuItem; hSubMenu: HMENU;
alkaa
peritty; // TCustomFormista (siten, että Application.Hint on määritetty)
menuItem: = nolla;
jos (Msg.MenuFlag $ FFFF) tai (Msg.IDItem 0) sitten
alkaa
jos Msg.MenuFlag ja MF_POPUP = MF_POPUP sitten
alkaa
hSubMenu: = GetSubMenu (Msg.Menu, Msg.IDItem);
menuItem: = Self.Menu.FindItem (hSubMenu, fkHandle);
pää
muu
alkaa
menuItem: = Self.Menu.FindItem (Msg.IDItem, fkCommand);
pää;
pää; miHint.DoActivateHint (menuItem);
pää; (* WMMenuSelect *)
Pikainfo: WM_MENUSELECT-viesti lähetetään valikon omistajaikkunaan, kun käyttäjä valitsee (mutta ei napsauta) valikkokohta. TMenu-luokan FindItem-menetelmällä voit saada valitun valikkokohteen. FindItem-toiminnon parametrit liittyvät vastaanotetun viestin ominaisuuksiin. Kun tiedämme, minkä valikkokohteen hiiri on ohi, kutsumme TMenuItemHint-luokan DoActivateHint-menetelmää. MiHint-muuttuja on määritelty nimellä "var miHint: TMenuItemHint" ja se luodaan lomakkeen OnCreate-tapahtumakäsittelijään.
Nyt jäljellä on TMenuItemHint-luokan toteutus.
Tässä on käyttöliittymäosa:
TMenuItemHint = luokka(THintWindow)
yksityinen
activeMenuItem: TMenuItem;
showTimer: TTimer;
hideTimer: TTimer;
menettely HideTime (Lähettäjä: TObject);
menettely ShowTime (Lähettäjä: TObject);
julkinen
rakentaja Luo (AOwner: TComponent); ohittaa;
menettely DoActivateHint (menuItem: TMenuItem);
destructor Tuhota; ohittaa;
pää;
Periaatteessa DoActivateHint-toiminto kutsuu THintWindow-ohjelman ActivateHint-menetelmää käyttämällä TMenuItem's Hint -ominaisuutta (jos se on määritetty). ShowTimer-ohjelmalla varmistetaan, että sovelluksen HintPause -aika loppuu ennen kuin vihje tulee näkyviin. HideTimer käyttää Application.HintHidePause -sovellusta piilottaaksesi vihjeikkunan tietyn ajan kuluttua.
Valikkokohta Vihjeiden käyttö
Vaikka jotkut saattavat sanoa, että vinkkien näyttäminen valikkokohdille ei ole hyvä suunnittelu, on tilanteita, joissa valikkokohtien vinkkien näyttäminen on paljon parempi kuin tilarivin käyttö. Viimeksi käytetty (MRU) valikkokohtaluettelo on yksi tällainen tapaus. Mukautettu tehtäväpalkki-valikko on toinen.
Olen samaa mieltä kaikesta edellä mainitusta. Tutkimme tätä kysymystä.
Kuunnella.
Mielestäni olet väärässä. Olen varma. Ehdotan keskustelua asiasta. Lähetä minulle sähköpostia
Liityn. Niin tapahtuu. Keskustelemme tästä kysymyksestä.
Painajainen. Katselin juuri uutisia, härät vain nousevat, miten voimme elää, jos öljyn hinta on pudonnut niin paljon. Jotkut luvut ja tulot sisällytettiin budjettiin, nyt näemme toiset. Ihmettelen kuinka kauan vakautusrahastomme riittää meille tällä lähestymistavalla. Anteeksi, olen niin lähellä aihetta. Mutta tämä on minusta myös tärkeää.
Varmasti. Olen samaa mieltä kanssasi.