|
I'm trying to determine the font size used for menu's. I've tried retrieving the NONCLIENTMETRICS structure which contains the right font name but the wrong size. My system is configured to use 8pt font but the height field of the menu LOGFONT structure in the NONCLIENTMETRICS structure is always set to 0xfffffff5 which equates to -11 or an 11pt font. Can anyone tell me what I'm doing wrong?
Systems AXIS Ltd - Software for Business ...
|
|
|
|
|
You are mixing up typographical point with pixels, most likely.
A typographical point, 1 72th of an inch, is the measure normally used for fonts - in the "real world". A pixel is a picture element, one of the small dots on your monitor.
The size of a typographical point in pixels is decided by the manufacturer of the screen(driver). But it is not a one-to-one correspondance, as you've noticed.
Negative pixels heights means "don't include external leading in the font height". Leading is yet another typographical term, meaning the space between lines (that were created by adding slices of lead - thus the name).
You can see the difference by creating two fonts, one with the height -12 and one with 12. You'll see that the 12-pixel font is smaller than the -12, it is reduced by the leading.
You can convert between the formats by getting the number of pixels per inch vertically from a CDC , calling GetDeviceCaps( LOGPIXELSY ) . Then, divide the result with 72 to get the height of a typographical point. Note that you'll need to use floating point for this, or multiply the pixels per inch with some suitably large value.
Finally, the -11 is the value you should use as a font height in a call to a CreateFont with the MM_TEXT mapping. The value sounds very reasonable, BTW.
Now you know more than you ever wanted to know about font heights
|
|
|
|
|
Sounds like you know a lot about fonts, maybe you could post an article covering the basics for us beginners?
Roger Allen - Sonork 100.10016
Strong Sad: I am sad I am flying
Who is your favorite Strong?
|
|
|
|
|
I will consider it - IME this, together with printing (where it normally starts to give trouble, even to experienced developers) and mapping modes are normally hopelessly uncharted areas in our community...
|
|
|
|
|
Thanks for the detailed explanation. The bit I was missing was the calculation to get from pixels to point size. If I'd looked at the help for LOGFONT I wouldn't have needed to ask the question. That'll teach me for trusting my memory!
Systems AXIS Ltd - Software for Business ...
|
|
|
|
|
I know this isn't strictly a Visual C++ Q, but I haven't had much luck else where )
Has anyone ever managed to combine the VS.NET CD distribution (7 CD version, 2002 Enterprise Archect) onto one DVD?
I have created a network install, as per readme file, and everything works fine from the HDD. Copy that onto a DVD, try to install, the install starts, gets about 6% through - then starts asking for me to "Insert CD1".
I don't suppose anyone has ever managed to do this? Long shot I know.
Ta.
|
|
|
|
|
I was wondering how to design a complete form from within resource editor and then make it scroll. I can get the form to scroll but the problem is that i cannot place the controls outside of the forms viewable area. The application is dialog based as it is an iterface to a database that i designed Thanx!!
|
|
|
|
|
If you create a doc/view app, and select CFormView as the view-class, you get scrolling automatically.
|
|
|
|
|
I forgot to mention the application is dialog based as it is a user interface to a database that i made. thanx
|
|
|
|
|
|
How do i access and display a dxf object with the Visual C++ 6 api tools for Maya?
|
|
|
|
|
I want to save a struct contains points of char into a file,but actually the strings that the points point to don't be contained in the struct,how can I do?
|
|
|
|
|
You just save the contents of the strings. If you need to share strings between several instances of the struct (or other structs), you can devise some kind of id-mechanism instead.
|
|
|
|
|
Hi, I want to develop an application in Visual C++ 6 which will run the default internet connection.
Any ideas about how to do that, without running the internet explorer?
Thanks in Advance
Regards,
Dimitris
|
|
|
|
|
check MSDN for : Establishing a Dial-Up Connection to the Internet and InternetAutodial function.
InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE,hWnd);
|
|
|
|
|
Hi guy;
Try to add an Web Browser control to your project. Add an Active control to the project. do Project->Add->Components and controls. Add the control and configure it to dial a connection in none is present.
Krugger
|
|
|
|
|
Hello, I am making a program in c using Microsoft's Visual C++ 6.0 compiler. I need to use in this program the function _beginthreadex, I have included the prosess.h header like this:
#include <process.h>
and I have linked LIBCMT.LIB MSVCRT.LIB in Project->Settings->link tab.
It still doesn't work and gives me a error like this:
error C2065: '_beginthreadex' : undeclared identifier
What am I to do?
PS I also tryed it in VC++ 7.0 and also it didn't work
|
|
|
|
|
Hi..Dear..
if your r using VC++6 then
u can use..
AfxBeginThread()
lot of examples available on internet regarding that...
OK! Bye..see you...
---Sumit Kapoor---
|
|
|
|
|
You probably haven't configured your project to be multi-threaded: Project Settings, C/C++ tab, Code Generation category, Use run-time library.
It defines a symbol _MT which turns on the definitions of _beginthreadex() etc. in the system headers (take a look inside process.h).
Lets be honest, isn't it amazing how many truly stupid people you meet during the course of the day. Carry around a pad and pencil, you'll have twenty or thirty names by the end of the day - George Carlin
Awasu 2.0 [^]: A free RSS reader with support for Code Project.
|
|
|
|
|
To debug a DLL project A, i set up a project B. On Windows NT & VC++ 5.0 i set project A's excute file to a debug version of B, it works. When open those two projects on Windows XP & VC++ 5.0, project B can still be debugged and breakpoints can be set, but i cannot set breakpoints to project A.
Could somebody please help me?
<font=sans-serif>|-|3llo Wo|2ld
|
|
|
|
|
Assuming that I understood you correctly, I think that you should do it the otherway around. Set the executable in project A to the one you compile in project B. This way you can debug your DLL.
|
|
|
|
|
I have some problem
problem #1 I am unable to write in Hkey_current_user thorugh service but i am able run to write same code for hkey local machine.when i try to write in hkey_current user it get wriiten in HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\System pls help.
is windows service don't authorize to write in HKEY_CURRENT_USER.
problem #2 i want to display the dialog box trough service,but till now i am unable to display the dialog box trough service.
is windows service authorize to show dialog box
problem #3
i am unable to use WinExec api call to execute the program thorugh service,they run but they don't show up to desktop,but they running as a background process which can seen in taskmgr, how to show them
thanks in advance
Alok Gupta
visit me at http://alok.stormpages.com
|
|
|
|
|
for executing try the CreateProcess function or ShellExecute because they are morfe efficient. If you are unable to write in the current user in registry you do not have the appropriate privilages to write to the certain user. Anyway it is better to write to HKEY local machine.
gabby
|
|
|
|
|
Hi friends,
I am trying to devlop a Single Document (Document/View Architecture) MFC application, which has Three frames. Left frame has a Hierarchy tree and on selection of any leaf node, number (not fixed) of images be displayed on the right upper frame (four picture per row) dynamically as shown below.
-----------------------------------------
| | |
| | |
| Tree | Images |
| | |
| | |
| |--------------------------------
| | |
| | Discription |
| | |
-------- -------------- -----------------
On click of an image its description should be displayed in right lower frame
My first priority is to display images dynamically.
Example: when there are 10 images, it should display 4 in first row, 4 in second row and last 2 in third row.
If any material/example/sample code/suggestion, Please reply me.
I need it very argently. Please help me.
Thanx
|
|
|
|
|
I am making a user interface with Outlook98-like bar in codeguru,now I'd like to put a bmp
picture as the background of left view,the code like follow which put on the
void CGfxOutBarCtrl::OnPaint().
CDC dcMem;
CBitmap bmpLogo;
BITMAP bitmap;
dcMem.CreateCompatibleDC(pDC);
bmpLogo.LoadBitmap(IDB_LEFTBACK);
bmpLogo.GetObject(sizeof(BITMAP), &bitmap);
CSize size(bitmap.bmWidth,bitmap.bmHeight);
CBitmap *pBmpOld = dcMem.SelectObject(&bmpLogo);
//GetClientRect(&rectClient);
pDC->StretchBlt(rc.left,rc.top,rc.Width(),rc.Height(),
&dcMem,0,0,size.cx,size.cy,SRCCOPY);
dcMem.SelectObject(pBmpOld);
dcMem.DeleteDC();
the IDB_LEFTBACK is the resource ID,but the color of the bmp picture is not normal,how can
I settle this question?
hi all
|
|
|
|