|
Yeah, I'm making my own application to implement adboe reader, now I need some thought how to
complete the full screen model.
|
|
|
|
|
See here[^] for the options to resize your window.
However, if you are saying that you have no idea how to write a PDF reader then I suggest you do some research into the PDF libraries that are available. There may also be some articles here on CodeProject that show you the basics.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
Thank you, guys. I am making my own pdf reader, if you have some links to resource or source code, I should really thank you!
|
|
|
|
|
Did you read my answer? I have given you some suggestions how to find free libraries to handle PDF files. You can also get the full PDF specification from the Adobe web site and code the whole thing yourself.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
I think you can just launch PDF reader( using shellexecute or similar apis) with the pdf file name as arguemnt. you can also set the screen mode(maximaized ,minimaized , or normal ) in there.
If you want to launch PDF in your app, try PDF activex , or you can use std web browser control to shows the pdf.
hopes this helps.
If u can Dream... U can do it
|
|
|
|
|
Thank you, but I have a application that parse .pdf and other files, so I want to implement the
full screen model in my own frame, so I need some main ideas about this function.
|
|
|
|
|
This is something else I gave you a link for in my answer above. Try reading the link and see how easy it is to show your window in full screen mode.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
these code is :
int sum(int a, int b);
#include "In.h"
int sum(int a, int b)
{
return (a+b);
}
//test05.cpp
#include "iostream"
#include "In.h"
using namespace std;
int main()
{
int a = sum(1, 2);
cout << a << endl;
}
when i complier test05.cpp, it will have a question :
~/cpp/test$ g++ -o test05 test05.cpp
/tmp/ccW55H4p.o: In function `main':
test05.cpp text+0x19): undefined reference to `sum(int, int)'
collect2: ld returned 1 exit status
give me some advides
thank you
|
|
|
|
|
You need to include In.cpp in your build thus:
~/cpp/test$ g++ -o test05 test05.cpp In.cpp
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
|
You're welcome. If you get bored some dark night you might want to read some of the documentation on g++ , I think g++ --help gives you quite a lot of information.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
Dears,
Could you please clarify whether the InterlockedIncrement API can be used in interprocess communication?
Regards,
Krishnakumar
|
|
|
|
|
In my opinion you can definitly use it. It provides synchronized access to a variable that is shared by multiple threads. In interprocess communication and to handle variables in shared memory it is safe.
|
|
|
|
|
InterlockedIncrement This API increments the variable value by 1, in addition to this, it also gives thread safety while incrementing so that we need not to write thread synchronization code just to increment counter. Now this behaviour you can use where ever you find it useful.
Thanks,
Anand.
|
|
|
|
|
Hey folks,
Anyone know what I need to do to get the tab key to move from field to field in a CPropertyPageImpl-based property sheet page? it works fine in design view in VS, but sounds a bell and stays put when executing. All the necessary controls have the WS_TABSTOP set, but the focus doesn't move...
Thanks!
D. T. Doutel
|
|
|
|
|
i'm not so familar with wtl - but it sounds cause the IsDialogMessage() function is callin' twice.
override the TranslateAccelerator function to set the focus by your own. because windows cannot (will) set focus among nested dialogs. but i'm not shure if there isn't a possibility to do that on another way.
|
|
|
|
|
I'll look into that; thank you!
D.T. Doutel
|
|
|
|
|
Hi,
Your message loop must call PropSheet_IsDialogMessage() when the PropSheet is not modal.
For instance in a parent frame deriving from WTL::CMessageFilter :
virtual BOOL PreTranslateMessage(MSG* pMsg)
{
return CFrameWindowImpl<CMainFrame>::PreTranslateMessage(pMsg) ? TRUE :
PropSheet_IsDialogMessage(<My Property Sheet member>.m_hWnd, pMsg);
}
cheers,
AR
When the wise (person) points at the moon the fool looks at the finger (Chinese proverb)
modified on Friday, December 10, 2010 5:07 AM
|
|
|
|
|
I have this :
struct struct_X
{
struct_X() :
nX(0)
{
}
int nX;
CString m_strName;
};
struct_X *ptrX1=NULL;
struct_X *ptrX2=NULL;
i have a loop like this :
for(int Idx = 0; Condition; Idx++)
{
...
...
if(nCount==0)
ptrX1= new struct_X;
else
ptrX1=ReallocArray((nCount+1), nCount, ptrX2); // copy the content of ptrX2 to ptrX1 and delete ptrX2 (**)
if(ptrTmp==NULL)
break;
ptrX2=ptrX1;
ptrX2[nCount].nX = 1;
ptrX2[nCount].m_strName = strTempName; // Here I have an a crash related to CString acces violating
nCount++;
}
in the first loop ( nCount = 0) there is no problem
but after the ReallocArray (**) i get the problem in ptrX2[nCount].m_strName
Have any one idea how to solve this?
|
|
|
|
|
Hi,
Looks like a problem with your ReallocArray() .
ATL::CString and MFC CString are simply typedef ATL::CStringT<TCHAR> CString; so at first your code may be crashing because of a wrong TCHAR type.
Anyhow you should always use the CString copy operator and not try to manipulate internal data structures as you do.
cheers,
AR
When the wise (person) points at the moon the fool looks at the finger (Chinese proverb)
|
|
|
|
|
ReallocArray()
just get the ptrX2 and copy its elements to the new array ptrX1 which has number of ptrX2's elements + 1
and then delete ptrX2.
So I think the problem is no related to this.
I agree that there is problem somewhere in CString opreation but where
|
|
|
|
|
khaliloenit wrote: ReallocArray()
just get the ptrX2 and copy its elements to the new array ptrX1 which has number of ptrX2's elements + 1
and then delete ptrX2.
And when do you construct your new struct_X ?
Drop your dangerous and painful homecooked memory management for ATL::CSimpleArray<struct_X> or std::vector<struct_X> and your problem will disappear
cheers,
AR
When the wise (person) points at the moon the fool looks at the finger (Chinese proverb)
|
|
|
|
|
1.) c!=c++
2.) c++ has a destructor and constructor that initializes the vtable too.
3.) c++ has not a realloc it knows only new and delete (its a immanent failure of c++)
4.) if you realloc an array of classes and they have virtual functions (ie. virtual void doanything(); ) you MUST call the constructor by yourself (and the destructor too).
5.) how to do: for(i=last_valid_element+1;i<all_elements;i++) (ptrX2+i)->struct_X::struct_X();
5a) remember: struct is in c++ the same as class.
6.) destructor for all elements or delete [] ptrX2 ( calls implicit (ptrX2+i)->struct_X::~struct_X(); )
so far and nice day.
|
|
|
|
|
Hi All,
I want a C programme which will take a user input as a date and number of days,
and then it will add the given number of days to the input date and will give the resulted date.
It should keep in mind all the permutation and combinations like changing month year , leap year, some months have 31 days some have 30 days etc....
for eg.:
input date 2010-12-25
days 20
result 2011-01-14
This programme can be made but this will take a lot of time if anybody has similar to that or exact programme then please help....
its just a module.
Thanks
|
|
|
|
|
cmaheshwari16 wrote: I want a C programme which will take a user input as a date and number of days,
A simple search of your C reference or MSDN would have found these routines[^] for you.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|