|
I hope somebody knows how to do this
Well my problem is that I am tring to implement arabic (Right to left) application. Mirroring controls and menus functions well ( in spite of the bugs in VC) but the language of the texts is wrong the whole way apart from those that are to be written in editboxes.
Does anyone have an idea about how to force the CMenu and CStatic to write in arabic instead of "something strange"?
Environements I am using:
- Win 2000 english / Win98 norwegian / win98 arabic
- VC++ 6 the application is MFC app and should run on arabic win 98
All help is appreciated
Hussam
|
|
|
|
|
First thing I'd suggest is to check the FONT lines in your dialog resources. They should be "MS Shell Dlg" not "MS Sans Serif" which is the default. (MFC automagically changes the dialog font itself in East Asian languages at the time the dialog is created, so I'd think it would do the same for other DBCS languages, but maybe not. Give it a shot.)
--Mike--
http://home.inreach.com/mdunn/
"Make sure that if you are using a blow torch that you don't set anything on fire."
-- Chris Maunder
|
|
|
|
|
I did That, I made a System for Citibank in Hebrew.
Ask me to carlos.antollini@nixorcorp.com
I will try to help!!!
Carlos Antollini.
|
|
|
|
|
Hi,
I'm having problems to load a dll using the LoadLibrary API function. It works in the debug version, but returns ERROR_INVALID_ORDINAL in the release.
Any help is appreciated.
Cheers,
xico
----------------------------
xicoloko@hotmail.com
www.devbrasil.com
|
|
|
|
|
Your DLL depends on some other library (it's importing a function by ordinal), and this library has no function with required number.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Tomasz,
First of all thanks for your reply!!
My dll doesn't use any other dll (apart from the system ones).
But even if I had this problem why would the debug version work?
cheers
----------------------------
xicoloko
xicoloko@hotmail.com
www.devbrasil.com
|
|
|
|
|
But even if I had this problem why would the debug version work?
Maybe some functions are compiled only when DEBUG is #defined. You should use depends.exe to check what exactly is missing.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hello
how can i add a buttom border to the CToolBar that was created at run time?
10x
|
|
|
|
|
|
how can i make a buttom border for a CToolBar?
|
|
|
|
|
My English is a little bit weak, so please be more specific: you want 'button border' or 'bottom border'?
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
How do i insert text to the CRichEditCtrl progromaticaly?
|
|
|
|
|
|
You need a callback function, something like:
DWORD CALLBACK readText(DWORD dwFilehandle, LPBYTE lpBuffer, LONG lBytesToRead,LONG FAR* lpBytesRead)
{
if(!ReadFile((HANDLE)dwFilhandle,lpBuffer, lBytesToRead, (unsigned long*)lpBytesRead, NULL)){
AfxMessageBox(_T("Couldn't read from file!"));
return 1;
}
return 0;
}
and then use StreamIn.
/Per
|
|
|
|
|
Hi,
I am using ADO tecnology to execute stored procedure.
Does anyone know how to read out a parameter from sp into VC++ variable
I need to get @file_id (which is set at the bottom of sp)
thank you,
bartek
My stored procedure:
CREATE PROCEDURE [sp_StandardFileNew]
@receive_date varchar(20),
@pj_id int,
@pj_type varchar(20),
@file_group varchar(200),
@name varchar(255),
@ext varchar(10),
@total_words int,
@dtp_pages int,
@notes varchar(500)
AS
DECLARE @file_id int,
@receive_date2 smalldatetime,
@project_id int,
@job_id int,
@group_id int
-- Check if obligatory text parameters are null
if @name is null OR @ext is null OR @pj_id is null OR @pj_type is null OR @receive_date is null
begin
return 1
end
-- Set @project_id or @job_id depending on the @pj_type [ "job" | "project" ]
if @pj_type="job" begin
set @project_id=null
set @job_id=@pj_id
end else if @pj_type="project" begin
set @project_id=@pj_id
set @job_id=null
end else begin
return 2
end
-- Check group_txt if it exists retrieve its id or create new group if it does not exist
if @file_group is not null begin
exec sp_NewFileGroup @file_group, null, @project_id, @job_id, @group_id OUTPUT
if @group_id is null begin
return 3
end
end else begin
set @group_id = null
end
-- Convert date-string format to datetime / smalldatetime
exec sp_DateConvert @receive_date, @receive_date2 OUTPUT
-- insert new row to the Files table and convert text arguments to integer values
insert into files(name, ext, receive_date, group_id, job_id, project_id, total_words, dtp_pages, file_type_id, deleted, works_count, notes)
values(@name, @ext, @receive_date2, @group_id, @job_id, @project_id, @total_words, @dtp_pages, 0, 0, 0, @notes)
set @file_id = @@identity
if @file_id is null begin
return 4
end
return 0
GO
|
|
|
|
|
I have three menu buttons on a dialog (thanks to Norm Almond for the code) each of which requires the same menu items on them in terms of the strings they present and whether or not any items are disabled.
However, the first and third buttons need to show check marks, but independently of each other. The second button mustn't show any check marks at all.
Does anyone have any clever ideas on how best to implement this or do I need a separate menu and corresponding handlers for each?
Is there a way to use the ON_UPDATE_COMMAN_UI macro? If so how?
Derek.
|
|
|
|
|
ON_UPDATE_COMMAND_UI should work - do you have any problems with that?
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
I thought this macro was only applicable to menus and toolbars that existed in a CFrameWnd-derived class.
If I can use it then presumably all I need to do is process which button was pressed and then update the checkmarks (if any) accordingly. With the LButtonDown/Up already overridden in the class to provide the menu buttons, how can I determine which button was pressed from the dialog?
|
|
|
|
|
You are correct in the ON_UPDATE_COMMAND_UI is not directly supported in dialog based apps. However, there is a workaround that is EASY to implement that WILL allow you to use the ON_UPDATE_COMMAND_UI mechanism on dialogs. Look up on MSDN the private message WM_KICKIDLE. The kind developers at microsoft implemented this private message for us folks that like dialog based apps.
WillCodeForMoney
|
|
|
|
|
Thanks for the tip. I'll look it up
|
|
|
|
|
You could set a flag before calling TrackPopupMenu, and check the value inside UpdateCmdUi handlers. There's other solution - just disable or check menu items 'manually' using CMenu member functions before TrackPopupMenu.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
The next episode in my ongoing saga of owner drawn buttons:
I want to allow icons or bitmaps to be drawn on my button and this can be done using a CImageList to store the images in. At the moment I just have a single icon or bitmap to draw (the rest will come later) and I'm using the following to draw the image in DrawItem:
void CButtonEx::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) {
m_imageList.DrawIndirect (pDC, 0, CPoint(3 + m_bBtnPushed, 3 + m_bBtnPushed),
CSize (m_nImageWidth, m_nImageHeight), CPoint (0, 0), ILD_NORMAL);
}
The problem is that the transparent bits of an icon are drawn black! Any ideas why?
The icon is added to the image list as follows:
BOOL CButtonEx::SetButtonIcon(UINT nResourceID, COLORREF crMask) {
BOOL bReturn = FALSE;
HINSTANCE hInstance = AfxFindResourceHandle (MAKEINTRESOURCE (nResourceID), RT_GROUP_ICON);
m_hIcon = (HICON)::LoadImage (hInstance, MAKEINTRESOURCE (nResourceID), IMAGE_ICON, 0, 0, 0);
if (NULL != m_hIcon) {
m_crMask = crMask;
ICONINFO iconInfo;
ZeroMemory (&iconInfo, sizeof (ICONINFO));
bReturn = ::GetIconInfo (m_hIcon, &iconInfo);
if (TRUE == bReturn) {
m_nImageWidth = iconInfo.xHotspot * 2;
m_nImageHeight = iconInfo.yHotspot * 2;
::DeleteObject(iconInfo.hbmMask);
::DeleteObject(iconInfo.hbmColor);
bReturn = m_imageList.Create (m_nImageWidth, m_nImageHeight, ILC_COLOR32, 1, 1);
if (TRUE == bReturn) {
if (m_imageList.Add (m_hIcon) > -1) {
m_bImageLoaded = TRUE;
}
else {
m_bImageLoaded = FALSE;
}
}
}
}
return bReturn;
}
|
|
|
|
|
I think you need to create a masked image list not a standard image list. Add ILC_MASK to the nFlags parameter of the image list creation.
Hope this helps.
Steve.
|
|
|
|
|
Thanks for the tip. I'll try that and see how I get on
|
|
|
|
|
Hi,
Recently I have seen in a decoration store an application for paints mix.
One of the dialogs was the simulation of a pad sheet yellow page, with horizontal lines.
Does anybody knows where I can find a way to do this or a lib that contains it ?
Thanks,
Claude
|
|
|
|