|
Hi!
I´ve a problem with EnumFontFamilies function.
There are fonts in my system (Arial Unicode MS, Batang, SimSun, PMingLiU,...) when I use EnumFontFamilies it returns some fonts two times. The second time with @.
Examples:
Arial Unicode MS @Arial Unicode MS
Batang @Batang
SimSun @SimSun
PMingLiU @PMingLiU
In the folder Fonts only there is a file and in the registry only there is a key for each font.
This problem only happens with some fonts.
Why? How is possible?
Thanks!
|
|
|
|
|
How about a snippet of code that produces the problem?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
// Load fonts
CClientDC dc(this);
EnumFontFamilies(dc, NULL, (FONTENUMPROC) MyEnumFont, (LPARAM) this);
int CALLBACK MyEnumFont(
ENUMLOGFONT FAR *lpelf, // pointer to logical-font data
NEWTEXTMETRIC FAR *lpntm, // pointer to physical-font data
int FontType, // type of font
LPARAM lParam // address of application-defined data
)
{
// TTF or Type1
if(!((lpntm->tmPitchAndFamily & TMPF_VECTOR) &&
(lpntm->tmPitchAndFamily & TMPF_DEVICE)) &&
!((lpntm->tmPitchAndFamily & TMPF_VECTOR) &&
(lpntm->tmPitchAndFamily & TMPF_TRUETYPE)) )
return TRUE;
// Then lpntm and lpelf contain an equal font to existing other one but with @
// For example I obtain SimSun and later @SimSun
...
}
Thanks!
|
|
|
|
|
HI ,,,
I m using VC++ 6 and DirectShow
Compiling in Release mood + Using MFC Static Library
following errors there ,,, but when i change to Shared DLL
there is no such error
Linking...
LINK : warning LNK4049: locally defined symbol "_strrchr" imported
thanx
Strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __imp__sprintf
Release/cam.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
|
|
|
|
|
Hello,
I have written a program which starts another program (VoicePad from IBM ViaVoice) via CreateProcess, searches its window on the desktop and sends WM_... messages via SendMessage/PostMessage. When the Open File Dialog box is launched, I can enter the filename via WM_CHAR and send a WM_COMMAND with IDOK to close the dialog box successfully.
Now my problem:
The program must be started hidden.
In CreateProcess's STARTUPINFO structure, I can specify SW_HIDE in wShowWindow, and the program does not display its application window.
However, the Open File Dialog box is always shown.
How can I hide the dialog box?
I know, the difficulty is that the dialog box belongs to a different process, but it is the single annoying thing which I have.
A thread which periodically checks if the dialog box is opened and
hides it instantly is not a good solution, since the dialog box
flashes a short time, and this is not what I want.
Regards,
Ulrich
|
|
|
|
|
Hi there,
I had a question.
I just noticed the availability of module definition file *.def. I had a few doubts.
The current scenario:
-------------------------
*The wrapper dll's library and dll is place under the SDK folder. The lib file is included in the project under the visual studio path settings.
SDK -> Wrapper Dll
SDK code:
-------------
#include "wrapper_dll.h"
extern "C" __declspec(dllimport) double TestA(double a, double b);
Wrapper DLL Code:
------------------------
#define extern "C __declspec(dllexport)
EXTERN double WINAPI TestA(double a, double b);
When you built in into a dll, when you view the dll dependecies, you will notice this (example):
Ordinal = 1 (0x0001)
Hint = 0 (0x0000)
Function = _TestA@20
EntryPoint = 0x0000101E
*The build dll, lib and header file is past to the SDK team to call it.
============================================================
Now, I want to implement def file:
SDK (cannot modified, coz done by someone else and different team) but it still calls the Wrapper dll.
SDK code (same with on top):
-----------------------------------
#include "wrapper_dll.h"
extern "C" __declspec(dllimport) double TestA(double a, double b);
New Wrapper Dll code:
---------------------------
wrapper_dll.cpp:
double TestA(double a, double b)
{
return a + b / 10;
}
wrapper_dll.h:
#pragma once // what does pragma means anyway?? any idea???
double TestA(double a, double b);
wrapper_dll.def:
LIBRARY Wrapper_Dll
EXPORTS
TestA
Now, when i view this dll dependencies, it appears to be like this:
Ordinal = 1 (0x0001)
Hint = 0 (0x0000)
Function = TestA
EntryPoint = 0x000128A7
*problem is the Function name is changed, entrypoint number is change... will this cause problem for the SDK when calling.
============================================================
I need to make sure SDK should be recompiled. I just have to replace the new wrapper dll, lib and .h into the existing files that is part of the SDK folder.
Should i be using def or not def? The current old code is using no def file. Means the sdk will have __declspec(dllimport) and the wrapper will have __declspec(dllexport), and the #include "Wrapper_dll.h" is still part of it of the sdk.
Please help! Module definition file is indeed easier for us as a coder to code. But i just want to see what is the advantages of using def over the others.
Thanks.
Regards,
Chua Wen Ching :p
|
|
|
|
|
Hail again,
If you provide .dll, .lib and .h that means you link to a DLL implicitly and you don't need .def file then. Using a module definition file makes sense only if you want to find function entry point during run-time by using GetProcAddress and referencing a function by an ordinal rather than a name.
|
|
|
|
|
Hi Everybody
I have to display the tiff format files in my MDI application,How can i load them and display in my current document.?and
How to convert TIFF into BMP format.
I am greatful to those who provides plugin to these tasks.
Bye
Mahatma_cis
|
|
|
|
|
Have a look to this article[^], you should find there all the info you need.
HTH, K.
Собой остаться дольше...
|
|
|
|
|
use the gdal library
http://remotesensing.org/gdal/
swandream
|
|
|
|
|
Hi everybody,
I want to use extra API (Named AddText.api) with my Visual C++ Application. can u tell me how to import methods in API to my Program.
thanks....
|
|
|
|
|
How can i create two threads for the same application while running
it is like this,
from one application create one threds of application.
within that application with menu handler call another thread of another application but they both run for the diffent functions at the same time.
uma
|
|
|
|
|
You can use SendMessage() and PostMessage() to send messages from one application to the other. Keep in mind, however, that it is not a trivial task of finding a window given a process id (i.e., that which is returned by CreateProcess() ).
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
hi,
i got an MDI app using Doc/View.
i want to override the [x] system close button.
i tried to override the OnClose() but the program never gets there when i press the [x] button.
i tried debug and to put msgbox's but it doesnt work.
any idea?
|
|
|
|
|
You should handle WM_SYSCOMMAND
with wParam == SC_CLOSE
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
i overide the function in my View but its never gets there.
i did this -
<br />
ON_WM_SYSCOMMAND()<br />
<br />
and...<br />
<br />
void CMyView::OnSysCommand(UINT nID, LPARAM lParam)<br />
{<br />
AfxMessageBox("closing!");<br />
<br />
CFormView::OnSysCommand(nID, lParam);<br />
}<br />
<br />
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);<br />
but the program never gets there when i press the [x] button.
do u know why??
|
|
|
|
|
Can you disable/hide or delete the [x] button?
good luck.
"If I don't see you in this world, I'll see you in the next one... and don't be late." ~ Jimi Hendrix
|
|
|
|
|
Hello people,
I wanted to ask how to make a front page like contianer. Where one can place not only activeX controls but also write plane text, make hyper links and make text bold etc.. Actualy this functionality is there if you use CHtmlView as you View class and CHtmlDoc as your doc class, but then u cannot insert activeX control in it... cause for making a container u need to derive from ColeDocument. Can anyone tell me how to do this.
|
|
|
|
|
i have a menu with minimize,maximize and restore and they work but i cant figure out how to resize the controlls when i maximize or restore the dialog i need help
|
|
|
|
|
USE Window MEssage
ON_WM_SIZE();
this will help u in above cause
-----------------------------
"I Think It will Work"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
HI ,,
I m Storing Value in Registry as String Value
in Windows 2000 / XP its store string value without double qoutes"" as... value
but in Window 98 it Save String Value with in qoutes... "value"
then after query a value then i try to mathc it but there is missmatch in Windows 98 due to " .." .
y any solution.
thanx
|
|
|
|
|
hian don't mind,i think you are wrong.
i am working on registry i have never this problem which you stating.
anyway what are using raw API's
or <atlbase> CRegClass
-----------------------------
"I Think It will Work"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
HI i m using CRegKey Class.... and its methods for query etc.
Can u send me any code sampl ,, that can work on both
win 98 and win 2000/ XP
but if u see using regedit command too see registry values
in windows 98 .. or 2000/ Xp.
check there any registry value that is string value
in win 98 its as "value" but in XP and 2000 its as value simply without qoutations"".
thanx
|
|
|
|
|
IS your Problem Solved
-----------------------------
"I Think It will Work"
Formerly I AM Known As "Alok The Programer"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
I think the Problm in Query to the key
here
CRegKey reg;
CString str = "cam";
BOOL bRetVal;
CString strTmp = "Software\\NDT\\Fovea";
bRetVal = reg.Open (HKEY_LOCAL_MACHINE ,(LPCTSTR)strTmp ) ;
if (bRetVal==ERROR_SUCCESS)
{
CString key = "Password";
char getValue[256] ;
DWORD d;
bRetVal=reg.QueryValue ( getValue , (LPCTSTR)key , &d);
if (bRetVal==ERROR_SUCCESS)
{
AfxMessageBox(" Working fine");
CString check = (CString)getValue ;
AfxMessageBox( "Value is ....||"+ check);
if (str.Compare (check) == 0)
{
AfxMessageBox( "Same");
reg.Close ();
}
else
{
AfxMessageBox( "Not same");
reg.Close ();
}
}
else
AfxMessageBox(" Query Failed");
}
else
{
AfxMessageBox( "Cannot Open");
reg.Close ();
}
It is messaging Query Failed..
|
|
|
|