Click here to Skip to main content
15,887,485 members
Home / Discussions / C#
   

C#

 
GeneralRe: owner draw of listview and treeview Pin
Stephane Rodriguez.26-Nov-02 5:36
Stephane Rodriguez.26-Nov-02 5:36 
Questioncan c# have object* ? Pin
Anonymous26-Nov-02 2:49
Anonymous26-Nov-02 2:49 
AnswerRe: can c# have object* ? Pin
leppie26-Nov-02 6:26
leppie26-Nov-02 6:26 
AnswerRe: can c# have object* ? Pin
Eric Gunnerson (msft)26-Nov-02 9:38
Eric Gunnerson (msft)26-Nov-02 9:38 
GeneralRe: can c# have object* ? Pin
Anonymous26-Nov-02 14:51
Anonymous26-Nov-02 14:51 
GeneralRe: can c# have object* ? Pin
Eric Gunnerson (msft)27-Nov-02 12:46
Eric Gunnerson (msft)27-Nov-02 12:46 
AnswerRe: can c# have object* ? Pin
Andy Smith27-Nov-02 16:24
Andy Smith27-Nov-02 16:24 
GeneralNONCLIENTMETRICS marshalling Pin
Matze25-Nov-02 20:31
Matze25-Nov-02 20:31 
Hi all,
I desperately need a hint guiding me the right direction...
I want to retrieve the NCM information using SystemParametersInfo. Well, to define the function call is rather easy, and the structure itself does not make lots of problems, too:

[StructLayout(LayoutKind.Sequential)]
public class NONCLIENTMETRICS
{
public int cbSize;
public int iBorderWidth;
public int iScrollWidth;
public int iScrollHeight;
public int iCaptionWidth;
public int iCaptionHeight;
public LOGFONT lfntCaptionFont;
public int iSMCaptionWidth;
public int iSMCaptionHeight;
public LOGFONT lfntSMCaptionFont;
public int iMenuWidth;
public int iMenuHeight;
public LOGFONT lfntMenuFont;
public LOGFONT lfntStatusFont;
public LOGFONT lfntMessageFont;

public NONCLIENTMETRICS()
{
cbSize = 340;
}
}

[StructLayout(LayoutKind.Sequential)]
public struct LOGFONT
{
public int lfHeight;
public int lfWidth;
public int lfEscapement;
public int lfOrientation;
public int lfWeight;
public byte lfItalic;
public byte lfUnderline;
public byte lfStrikeOut;
public byte lfCharSet;
public byte lfOutPrecision;
public byte lfClipPrecision;
public byte lfQuality;
public byte lfPitchAndFamily;
[MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst=32)]
public string lfFaceName;

public static LOGFONT Empty
{
get
{... }
}
}

[DllImport("User32.dll"]
public static extern bool SystemParametersInfo(int Action, int Param, NONCLIENTMETRICS Param, int WinIni);

The call is

NONCLIENTMETRICS ncm = new NONCLIENTMETRICS();
bool b = SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, ncm, 0);


And now I'm getting confused:
b is true, that means the call succeeded, but ncm has not been touched. Is there anything wrong with the structure layout?? At the end I tried all combinations, instead of a class I declared NCM as a structure and used ref, I tried the IntPtr version... nothing didn't help. And I know that it works since MS does similar to build the SystemInformation members (Menufont is contained in NCM, too).

Somewhere I'm blocked. Can anybody help??
Thanks and bye
Matze

GeneralRe: NONCLIENTMETRICS marshalling Pin
leppie25-Nov-02 22:49
leppie25-Nov-02 22:49 
GeneralRe: NONCLIENTMETRICS marshalling Pin
Matze25-Nov-02 23:07
Matze25-Nov-02 23:07 
GeneralRe: NONCLIENTMETRICS marshalling Pin
Stephane Rodriguez.25-Nov-02 23:48
Stephane Rodriguez.25-Nov-02 23:48 
GeneralRe: NONCLIENTMETRICS marshalling Pin
Matze26-Nov-02 0:16
Matze26-Nov-02 0:16 
GeneralRe: NONCLIENTMETRICS marshalling Pin
Anonymous26-Nov-02 5:19
Anonymous26-Nov-02 5:19 
GeneralRe: NONCLIENTMETRICS marshalling Pin
leppie26-Nov-02 8:23
leppie26-Nov-02 8:23 
GeneralRe: NONCLIENTMETRICS marshalling Pin
Richard Deeming26-Nov-02 6:21
mveRichard Deeming26-Nov-02 6:21 
GeneralRe: NONCLIENTMETRICS marshalling Pin
Matze26-Nov-02 19:27
Matze26-Nov-02 19:27 
GeneralRe: NONCLIENTMETRICS marshalling Pin
Richard Deeming26-Nov-02 22:38
mveRichard Deeming26-Nov-02 22:38 
GeneralRe: NONCLIENTMETRICS marshalling Pin
Matze14-Dec-02 0:50
Matze14-Dec-02 0:50 
GeneralNeed help for my IRC Client Pin
Shock The Dark Mage25-Nov-02 16:21
Shock The Dark Mage25-Nov-02 16:21 
GeneralRe: Need help for my IRC Client Pin
leppie25-Nov-02 22:52
leppie25-Nov-02 22:52 
GeneralRe: Need help for my IRC Client Pin
Shaun Wilde26-Nov-02 4:12
Shaun Wilde26-Nov-02 4:12 
GeneralRe: Need help for my IRC Client Pin
Michael Mac26-Nov-02 10:28
Michael Mac26-Nov-02 10:28 
GeneralRe: Need help for my IRC Client Pin
leppie26-Nov-02 11:00
leppie26-Nov-02 11:00 
GeneralRe: Need help for my IRC Client Pin
Shock The Dark Mage26-Nov-02 13:12
Shock The Dark Mage26-Nov-02 13:12 
GeneralRe: Need help for my IRC Client Pin
leppie26-Nov-02 13:28
leppie26-Nov-02 13:28 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.