|
DrawText/DT_CALCRECT
(has But? http://www.codeguru.com/forum/showthread.php?s=&threadid=237321)
t!
|
|
|
|
|
In fact using this, it uses the current font & font size and just calculate the size of the rectangle of the text (doesn't draw the text).
I tried something like begin from font size 1 and increasing the font size till the resulting rectangle becomes larger in one direction of the desired rectangle. The problem is that this method is somewhat heavy: I have several controls like this and I refresh them quite often.
|
|
|
|
|
You could pick an arbitrary point size, get the rectangle with the relevant text. Then work out how much
you need to shrink / magnify it by and jump straight to that size.
eg.
CFont f = FontMake (12pt);
dc.SelectFont (f);
dc.DrawText ("hello", &rcText, DT_CALCRECT);
pt = min (pt * rcClient.Width / rcText.Width, pt * rcClient.Helght / rcText.Height)
f = FontMaks (pt)
dc.SelectFont (f);
dc.DrawText ("hello", etc).
If this is not exact enough, it will give you a better starting point than 1pt.
Iain.
|
|
|
|
|
Thanks!
Yes could be a better solution
|
|
|
|
|
I want to have an option in my aplication which lets this program to be run at startup time.
I have no idea how to even start writing this.
Is any api responsible for this or maybe I have to put something in registers?
One more question: All systems win 95 -2002, XP use the same method?
Waiting for your answers
|
|
|
|
|
You can add a command to start your app to the registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\
Pavel
Sonork 100.15206
|
|
|
|
|
You can also use the same key in HKEY_CURRENT_USER
HKCU\Software\Microsoft\Windows\CurrentVersion\Run - for current user only, don't need admin access on Win2k/XP to change.
Pavel
Sonork 100.15206
|
|
|
|
|
Thank you very much
Take care
|
|
|
|
|
Hi all gurus!
I'm a C# junior progr but dont know anything about C or Visual C ( funny isn't? ).
Well, i must do aplication just to execute a DTS in a Labeled Server. No fancy error message things. Just execute, since this apl will be trigged by a job. I've search the web for some info about this, but only came with http://sqldev.net/dts/ExecutePackage.htm, but i cant override the fatal error C1083: Cannot open type library file: 'C:\MSSQL7\BINN\dtspkg.dll': Error loading type library/DLL. I've register this dll again and checked the rll. But the error continue. I'm using w2k logged as Adm.
<br />
#define STRICT <br />
#define WIN32_LEAN_AND_MEAN <br />
#define INC_OLE2 <br />
#define UNICODE <br />
#define _UNICODE <br />
<br />
#include <windows.h> <br />
#include <stdio.h> <br />
#include <tchar.h><br />
#include <comdef.h>
#include "execpkg.h"<br />
<br />
#import "C:\MSSQL7\BINN\dtspkg.dll" \<br />
no_namespace rename("EOF", "EndOfFile") <br />
<br />
INT _tmain(INT argc, TCHAR* argv[], TCHAR* envp)<br />
{<br />
HRESULT hr;<br />
if SUCCEEDED(hr = OleInitialize(NULL) )<br />
{<br />
try<br />
{<br />
HRESULT hr;<br />
_Package2Ptr spPackage;<br />
if (SUCCEEDED(spPackage.CreateInstance(__uuidof(Package2))))<br />
{<br />
try<br />
{<br />
_variant_t v;
hr = spPackage->LoadFromSQLServer(<br />
_T("(local)"),
_T(""),
_T(""),
DTSSQLStgFlag_UseTrustedConnection, <br />
_T(""),
_T(""),
_T(""),
_T("Teste"),
&v);
hr = spPackage->Execute();<br />
hr = spPackage->UnInitialize();<br />
}<br />
catch(_com_error pCE)<br />
{<br />
spPackage.Release();
}<br />
}<br />
}<br />
catch(_com_error pCE)<br />
{<br />
<br />
}<br />
<br />
OleUninitialize();<br />
}<br />
return (0);<br />
}<br />
I need some help, please.
Tks all
J.Portugal
|
|
|
|
|
It sounds like the file "C:\MSSQL7\BINN\dtspkg.dll" does not exists.
Are you sure it's there?
Hmmm, binn, shouldn't it be bin with just a single "n"?
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
Tks Anders, but i already checked that...
The path is Ok... i even trow a wrong path just for checking and the error message are diferent:
fatal error C1083: Cannot open type library file: 'C:\MSSQL7\BIN\dtspkg.dll': No such file or directory
Any ideias?
J.Portugal
|
|
|
|
|
Ok...i've used the system comand DTSRun insted.
Tks all
J.Portugal
|
|
|
|
|
I need to read the default browser of the system and spawn it's instance. How can do that ? Right now my application is reading the IE registry keys to know it's path and spawning it.
But i need to support all browsers, atleast IE / Netscape / Mozilla ?
How can do it ?
Thanks and regards.
Vikram
|
|
|
|
|
If you have a html page you are wanting to fire up in a browser (I'm guessing you don't want a
blank page) then you can just use good old ShellExecute. To get a blank page, you *might*
be able to use "about:blank" for the file to "open".
Iain.
|
|
|
|
|
Another solution is to view the registry and determine what HTML is linked to. In your problem, edit that registry key.
Kuphryn
|
|
|
|
|
Thanks for the replies.
Anyway, got the path of the browser using API FindExecutable()passing the path of a .html/.htm file.
thanks & regards
Vikram
|
|
|
|
|
I wrote a application using MFC & VC6.
The resources I wrote are in two languages (english and italian).
I would like to know if it is possible to change the reseource used language: i.e. I would like to be able to use the english version in an italian OS.
I know that I can insert the resources in a satellite DLL, but that way has many contraindications.
Any Idea?
|
|
|
|
|
Paolo Vernazza wrote:
I know that I can insert the resources in a satellite DLL, but that way has many contraindications
the simplest and standard way is to bundle the resource into separate DLLs and load these resources as and when required using AfxSetResourceHandle().
But dont know whether u really want to keep the resource into the same executable ?
regards.
Vikram
|
|
|
|
|
I don't want to use satellite dll because:
* I should insert bitmaps, toolbars and common resources in any dll wasting a lot of space
* If I've all the resources in the same file, If I forgot a resource in a language (e.g. a string), the program use the resource in another languaga; using satellite DLL, it simply crashes!
|
|
|
|
|
I'm trying to implement a list of functions together with their names, like this:
typedef struct BinaryFunction
{
double (*eval)(double, double);
char* sign;
};
double add(double a, double b)
{
return (a+b);
}
char addSign[] = " + ";
BinaryFunction Add = { add, addSign };
Finally, the pointe:
BinaryFunction** bFunctionList;
How do I initialize/use this last pointer?
|
|
|
|
|
This is one way of doing it...
struct BinaryFunction<br />
{<br />
double (*eval)(double, double);<br />
char* sign;<br />
};<br />
<br />
double add(double a, double b)<br />
{<br />
return (a+b);<br />
}<br />
<br />
double subtract(double a, double b)<br />
{<br />
return (a-b);<br />
}<br />
<br />
int main(int argc, char* argv[])<br />
{<br />
BinaryFunction** ppBFunctionList = new BinaryFunction*[2];<br />
<br />
char addSign[] = " + ";<br />
BinaryFunction Add = { &add, addSign };<br />
ppBFunctionList[0] = &Add;<br />
<br />
char subSign[] = " - ";<br />
BinaryFunction Sub = { &subtract, subSign };<br />
ppBFunctionList[1] = ⋐<br />
<br />
for (int i = 0; i < 2; i++) {<br />
double dRes = (*ppBFunctionList[i]->eval)(3, 2);<br />
printf("%.2f\n", dRes);<br />
}<br />
<br />
return 0;<br />
}
Regards,
/Henrik J
|
|
|
|
|
I presume you want something like:
main ()
{
BinaryFunction f [] = { {Add, "+"},
{ Subtract, "-"},
{ Power, "pow"},
{ NULL, NULL}
};
double dEval1 = DoAFunctionOne ("Add", 1.0, 2.0, f)
double dEval2 = DoAFunctionTwo ("Add", 1.0, 2.0, &f)
}
double DoAFunctionOne (char *name, double A, double B, BinaryFunction *func)
{
while (func && func->sign)
{
if (!lstrcmpi (name, func->sign))
{
if (!func->eval)
break;
return func->eval (A,B);
}
func++;
}
return 0.0;
}
double DoAFunctionTwo (char *name, double A, double B, BinaryFunction **func)
{
for (int n = 0; func && func [n]->sign; n++)
{
if (!lstrcmpi (name, func->sign))
{
if (!func [n]->eval)
break;
return func [n]->eval (A,B);
}
}
return 0.0;
}
Having typed this all, I've got a sneaking suspicion I've just done your homework. If I'm right,
take this as an example of how these things work. If you hand it in as your own work then your
teacher will become suspicious...
If I'm wrong, then I apologise!
Iain.
|
|
|
|
|
I am looking for big prime numbers generator (class,function,code). Big I mean at least 100 digits.
Thanks in advance.
|
|
|
|
|
This has some bigint prime generators.
http://www.eskimo.com/~weidai/cryptlib.html
Regards,
Alastair.
|
|
|
|
|
Hi
I'm having some problems with using the SetWindowsHookEx function to intercept menu messages so I can draw the menu border myself when necessary. I've taken a look at sources of other ownerdraw menus already, but I'm still having problems. Could someone please explain me the procedure for setting up appropriate hooks so that I end up with menu message calls like WM_NCPAINT etc.
Thanks in advance.
|
|
|
|