Tema: Re: Kelios problemeles [kb+html]
Autorius: Arvydas
Data: 2011-11-06 23:14:12
Daryk opensource: daugiau programuotojų matys visą tavo kodą daugiau 
galės jį tobulinti ir pritaikyti daugumos reikmėms.

Arvydas

On 04/11/2011 12:13, Jornada Del Muerto wrote:
> Sveiki,
> Na stai tobulinu ta zadeta isreleasint free meniu ir susiduriau su
> keliom problemelem, kad uz mane kas googlintu neprasau, bet gal kazkas
> kazka tokio dare, susidure su zemiau vardintom problemom ir gali patart
> ar zino koki gera url kaip tai issprest.
> 1. ToolStrip 3rd lvl items smash (kaip as pavadinau) problema
> Ta visa meniu tobulinau, piesiau kelis rinkinius ikonu, padariau kad
> eitu rinktis spalvas, fonta, na ir 2 ikonu dydziai dabar galimi 16x16 ir
> 32x32, bet vat su 32x32 susiduriau su problema:
> Kaip matote 3 lygio generic sukurtas ToolStripMenuItem objektas
> nedraugauja visai su 32x32 ikonom, elgesys pas ji toks lyg butu 16x16,
> bandziau dirbtinai nurodyt height 32 kada buna 32x32 ikonu mode bet
> nepadeda...
> Pacio Toolstrip inicializacija buna tokia:
> switch (_ImagesSize)
> {
> case Images.ImageSize.Size16x16:
> i.ImageScalingSize = new Size (16, 16);
> break;
> case Images.ImageSize.Size32x32:
> i.ImageScalingSize = new Size (32, 32);
> break;
> Si inicializacija daro puiku efekta ant pacio toolstrip itemu ir
> toolstripdropdownmenu itemu, bet va ju vaikai toolstripmenuitem veikia
> negerai, kur _ImagesSize cia enumas kuri nustato useris pagal tai
> renkamas ikonu setas, ir kaip matote nustatomas ImageScalingSize paciam
> pagrindiniam ToolStrip objektui, i = ToolStrip.
> 2. Fullscreen app detect - Problema Nr. 2
> Kaip buvau minejas sis Bar nedraugavo stipriai su Remote Desktop
> Connection esant jam fullscreen modej, jokiu problemu nebuna su 3D
> application fullscreen modej, tada meniu nesimato, bet vat tokie kaip
> teamviewer, remote desktop connection fullscreen rezime pjaunasi su siuo
> app, del to nusprendziau kad reikia detectint kas tuo metu aktyvus ir ar
> fullscreen ir jei fullscreen yra kazkokia APP tai tada si meniu kavoti.
> Po to tam kuri laika googlinau ir kaip ir radau visai nebloga funkcija,
> tiesa ja kazkiek tobulinau bet vis dar veikia negerai. Kodas toks:
> public static bool IsForegroundWindowFullScreen()
> {
> int scrX = User32.GetSystemMetrics(User32.SM_CXSCREEN),
> scrY = User32.GetSystemMetrics(User32.SM_CYSCREEN);
> IntPtr handle = User32.GetForegroundWindow();
> if (handle == IntPtr.Zero)
> {
> // if it Zero then not
> return false;
> }
> // mano dadetas tikrinimas
> else if (
> handle == User32.GetDesktopWindow () ||
> handle == User32.GetShellWindow ())
> {
> // if it desktop or shell then not
> return false;
> }
> User32.RECT wRect = new User32.RECT();
> if (!User32.GetWindowRect(handle, ref wRect))
> {
> return false;
> }
> return scrX == (wRect.Right - wRect.Left) && scrY == (wRect.Bottom -
> wRect.Top);
> }
> *Na rezultate kaip ir veikia, tik yra viens bugas, jei darau show
> desktop dingsta tada mano toolbaras, jei kokia nors ne fullscreen app
> gauna fokusa viskas susitvarko, bet po show desktop neturetu dingt...*
> Tiesiog gal kas tures kokia konstruktyvia ideja del vienos ar kitos
> problemos :)
> JDM.