473,396 Members | 1,853 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

SetDlgItemText() Error

Sorry if this is off topic for this group, but I couln't find any place
better for directing question on Windows API programming. Here's the
problem, I am calling the SetDlgItemText() function to set the text of an
edit box for an about window for my program. For some weird reason though it
won't work, and the GetLastError function gives a Control ID not found
error. I am sure that the parameters are correct so I'm at a loss as to the
cause. The only reason I can think of that this would happen is that the
about window is set as a child window of the main one, but I don't see why
that would be a problem. To be honest I would rather just send the edit box
a set text message but the object is being genorated by a recource script
and I'm not sure how to get it's hWnd. If you know how then please tell me.
Another question I wanted to ask, just in case anyone knows, when using the
CreateWindowEx() function one of the parameters is a handle to the
application instance. The way I have the application set up though, it is a
command line program that makes use of windows.h (the command line is really
handy for debbuging) so I can't get this from the winmain function. Having
this parameter NULL causes no problems in WinXP, but according to MSDN it
may break compatiblility with Win98 and below. Then again they are probobly
assuming the application has a winmain, which it doesn't. Does anyone know
if this would actually be a problem, and if so how would I get the handle to
the application instance without having a winmain?

Here's the source (stripped of any sort of practical functionallity):

#include <windows.h>
#include <stdio.h>
#include <commctrl.h>
#include "resource.h"

//Function declarations

BOOL MainDialogProc(HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);

BOOL AboutDialogProc(HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);

void initialize_proc(HWND hWnd);

//Global variable declarations

HWND hWstatusbar;

//Main function. Serves as entry point for MainDialogProc

bool main(void)
{
DialogBoxParam(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDD_DLG_MAIN),
NULL,
(DLGPROC)MainDialogProc,
0);

return FALSE;
}

BOOL MainDialogProc(HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{

switch(uMsg)
{

case 48: //Didn't feel like looking up the constant for this :P
initialize_proc(hWnd);
return TRUE;
break;

case WM_CLOSE:
EndDialog(hWnd, 0);
return TRUE;
break;

case WM_COMMAND:
switch(LOWORD(wParam))
{

case ID_HELP_about:
DialogBoxParam(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDD_DLG_ABOUT),
hWnd,
(DLGPROC)AboutDialogProc,
0);
break;
case ID_FILE_EXIT:
EndDialog(hWnd, 0);
return TRUE;

}

}

return FALSE;

}

BOOL AboutDialogProc(HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{

switch (uMsg)
{
case 48:
SetDlgItemText(hWnd, IDC_DISCLAIMER, "About Box.");
printf("Last Error: %d \n", GetLastError());
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{

case IDOK:
EndDialog(hWnd, 0);
return TRUE;

}

}

return FALSE;

}

void initialize_proc(HWND hWnd)
{

//This code is a bit messy and inflexible but the GUI coding isn't really
the point here :)

//Variables for creating the status bar

INITCOMMONCONTROLSEX ControlSet;

RECT rcClient;

ControlSet.dwSize = sizeof (ControlSet);
ControlSet.dwICC = ICC_BAR_CLASSES;

InitCommonControlsEx(&ControlSet);

GetClientRect(hWnd, &rcClient);

int parts[2] = {rcClient.right / 2, rcClient.right};

//Create the status bar

hWstatusbar = CreateWindowEx(
0,
STATUSCLASSNAME,
(LPCTSTR) NULL,
WS_CHILD | WS_VISIBLE,
0,
0,
0,
0,
hWnd,
(HMENU) NULL,
(HINSTANCE) NULL, //This statement may break compatibility with Win9x (at
least according to MSDN)
NULL);

//Make sure status bar create was successful and if so, divide the status
window into 2 parts and set the message

if (!hWstatusbar){printf("Status bar create error: %d \n",
GetLastError());}

else
{

SendMessage(hWstatusbar,
SB_SETPARTS,
(WPARAM) 2,
(LPARAM) parts);
SendMessage(hWstatusbar,
WM_SETTEXT,
(WPARAM) 1,
(LPARAM) "Ready!");

}

//Set the icon for the main diolog.

SendMessage(hWnd,
WM_SETICON,
ICON_SMALL,
(LPARAM) LoadImage(NULL,
"C:\\Documents and Settings\\zyx987.ZYX987S-COMP\\My
Documents\\icon.ico",
IMAGE_ICON,
16,
16,
LR_LOADFROMFILE)
);

return;

}
Jul 19 '05 #1
2 4637
"Xzyx987X" <Xz******@mn.rr.com> wrote...
Sorry if this is off topic for this group, but I couln't find any place
better for directing question on Windows API programming. [...]


How about comp.os.ms-windows.programmer?
Jul 19 '05 #2
Ok thanks for your help. I'll repost this there.
"Victor Bazarov" <v.********@attAbi.com> wrote in message
news:IGGTa.132639$H17.44552@sccrnsc02...
"Xzyx987X" <Xz******@mn.rr.com> wrote...
Sorry if this is off topic for this group, but I couln't find any place
better for directing question on Windows API programming. [...]


How about comp.os.ms-windows.programmer?

Jul 19 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: AIM | last post by:
Error in msvc in building inheritance.obj to build hello.pyd Hello, I am trying to build the boost 1.31.0 sample extension hello.cpp. I can not compile the file inheritance.cpp because the two...
5
by: Tony Wright | last post by:
Hi, I am having a problem installing an msi for a web site. The error message I am getting is: "The specified path 'http://mipdev05/features/Fas2' is unavailable. The Internet Information...
1
by: Aravind | last post by:
we have two files: 1. rc4.c (defines one function "create_pin()") 2. MyImpl.c(calling the function "create_pin()"),This implements JNI method. 1.When I am trying to create .dll file with one...
1
by: yanwan | last post by:
I met this problem in executing a c++ project in visual studio. Does anyone have suggestions to resolve "error lnk 2001"? --------------------Configuration: reconstruction - Win32...
13
by: deko | last post by:
I use this convention frequently: Exit_Here: Exit Sub HandleErr: Select Case Err.Number Case 3163 Resume Next Case 3376 Resume Next
7
by: p | last post by:
WE had a Crystal 8 WebApp using vs 2002 which we upgraded to VS2003. I also have Crystal 9 pro on my development machine. The web app runs fine on my dev machine but am having problems deploying....
2
by: ttam | last post by:
Hi, I have a C++ program that runs fine on Windows 2000 for about 5 yrs now and PC is old, I want to replace this PC and Windows 2000 with a new PC and XP, but when I run this program, it hangs at...
2
hyperpau
by: hyperpau | last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding. I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com). Ergo, I...
0
hyperpau
by: hyperpau | last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding. I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com). Ergo, I...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.