Kezdőoldal » Számítástechnika » Programozás » C# Ablak bezáró gomb (X)...

C# Ablak bezáró gomb (X) értelmezése (kérdőjel? )

Figyelt kérdés

Sziasztok, olyan problémám lenne hogy alkalmazáson belül le kellene tiltani az alap bezáró gombot. Találtam rá megoldást neten, és működik is, szóval idáig tök jó. Csak az a baj, hogy nem értem, mert elég kezdő vagyok még. Esetleg eltudná valaki magyarázni?

private const int CP_NOCLOSE_BUTTON = 0x200;

protected override CreateParams CreateParams

{

get

{ CreateParams myCp = base. CreateParams;

myCp. ClassStyle = myCp. ClassStyle | CP_NOCLOSE_BUTTON; return myCp; } }


2015. jan. 3. 12:39
 1/6 anonim ***** válasza:

A kérdés mezőbe nyugodtan írhattad volna a kérdést, hiszen pont azért van.


// definiál egy konstans számot, ami tök véletlenül a C# bugyraiban azt jelenti, hogy "nincs bezárás gomb":

private const int CP_NOCLOSE_BUTTON = 0x200;


// felülírja a CreateParams metódust:

protected override CreateParams CreateParams

{

get

{ CreateParams myCp = base. CreateParams;


// a ClassStyle értékéhez hozzá VAGYolja a fenti konstanst, vagyis gyakorlatilag hozzáadja ezt a tulajdonságot is a meglevőekhez*:

myCp. ClassStyle = myCp. ClassStyle | CP_NOCLOSE_BUTTON;


// visszatér az új paraméter értékekkel

return myCp;

}

}


* bitenkénti VAGYolásnak érdemes utánaolvasni.


Szerintem egyszerűbb, ha részleteiben rákérdezel, mi az, ami nem érthető. (Ha van még valami.)

2015. jan. 3. 14:00
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

Hááát lenne még 1-2 :)

pl: Honnan lehet tudni, hogy melyik szám mihez van hozzárendelve, van erre valamilyen táblázat? Meg ez a hozzá vagyolás is kicsit furcsa nekem, bármilyen tulajdonsághoz hozzá lehet vagyolni egy másikat? és ezt a hozzá vagyolást nem lehet másképp megoldani? és miért vagyolás? miért nem éselés?

ui.: remélem nem sokkoltalak a kérdéshalmazzal :)

2015. jan. 4. 03:47
 3/6 anonim ***** válasza:

Visszafelé haladok a kérdéseidben, szorri, így könnyebb:


Az utolsó 3 kérdésedet megválaszolná, ha utánaolvasnál a bitenkénti műveleteknek.


De röviden megpróbálom:

A = 2 = 0010b

B = 8 = 1000b

A vagy B = 1010b <-- ekkor látod MINDKÉT "tulajdonság" benne van

A és B = 0000b <-- itt meg látod, mindent elvesztünk


> Meg ez a hozzá vagyolás is kicsit furcsa nekem, bármilyen tulajdonsághoz hozzá lehet vagyolni egy másikat?


Nem. Egyrészt csak kettő hatványokat lehet, vagyis ugye a kettes számrendszerbeli helyiértékeknek megfelelőeket, hiszen így tudunk bitenkénti műveleteket végezni rajtuk. Másrészt fontos, hogy az a programrész, ami megkapja a végeredmény számot, ő az, aki pontosan tudja, melyik bit milyen tulajdonságot jelent, tehát ő hozzá igazodva kell kialakítanod ezt a számot bitenként.


> melyik szám mihez van hozzárendelve, van erre valamilyen táblázat?


A dokumentációban elvileg le vannak ezek írva, de ha mást nem, vannak rá definiálva konstansok, amiket kiírathatsz, és bumm, látod a számot. (Mondjuk a fenti kód írója nem tudott konstansokról. Én meg még annyira sem, mert nem vagyok C# guru.)


Dokumentáció:

1. Google("classstyle c#") -> [link]


2. Máris itt van a kulcsmondat:


"The constants used to set the Style, ExStyle, and ClassStyle properties are defined in the Winuser.h header file. This file is installed by the Platform SDK or Visual Studio."


Tehát a Windows.h települt a VS-sel, ebben megtalálod a konstansokat. :)

2015. jan. 4. 10:57
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
Annyit még hozzá, hogy persze nem csak kettő hatványokat lehet, csak tudd, hogy az adott szám, melyik biteken tárol 1-est. Például a példámban létrehozott 12 = 1010b-t is hozzávagyolhatod mondjuk az 5 = 0101b-hez, ha jól esik, és akkor megkapod a 15 = 1111b-t. :)
2015. jan. 4. 11:03
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

> Tehát a Windows.h települt

Ezt meg elírtam, de látod az idézetben, hogy Winuser.h :)

2015. jan. 4. 11:10
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
nagyon szépen köszönöm a választ :) bocsi hogy csak most írtam, csak nagyon zombi vagyok szakdoga írás miatt. szóval köszi még egyszer :)
2015. jan. 14. 11:25

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!