Pelles C forum
C language => Work in progress => Topic started by: sergey on December 29, 2012, 01:20:15 PM
-
VeCAD & LiteCAD is free CAD-editor & SDK for programming on:
MS VisualBasic
vb.NET
C#
C++
Delphi (Pascal)
SDK has many examples - all OOP.
I program on C-lang a little (PellesC) and have decided to check up possibility to work in VeCAD (LiteCAD) SDK. Thus I at all don't know a C ++
Has to begin with selected BCX (Basic to a C translator).
BCX translated examples for compilation in LCC
I will be grateful to the one who will alter received C-code for compilation in the environment of PellesC IDE - at me it has not turned out.
My posts & examples (VeCAD & LiteCAD) on kolbasoft forum:
http://www.kolbasoft.com/forum/viewtopic.php?f=4&t=348 (http://www.kolbasoft.com/forum/viewtopic.php?f=4&t=348)
Links to download VeCAD (VeCAD VeCAD DLL/OCX 6.0 Free Download vecad6.zip 6.5 MB):
http://vecad-dll-ocx.soft32.com/
http://vecad-dll-ocx.soft32.com/get/file/id/512487?rel=center&s=wR_VlZP06h8hYJTXH84I_g&t=1356510749&ext=.zip&no_download_manager=true (http://vecad-dll-ocx.soft32.com/get/file/id/512487?rel=center&s=wR_VlZP06h8hYJTXH84I_g&t=1356510749&ext=.zip&no_download_manager=true)
http://vecad-dll-ocx.soft32.com/get/file/id/512487?iframe=true&width=420&height=200&no_download_manager=1&s=k4LuKMz3NDGUAK_D9K6Z1w&t=1356510957&ext=.zip&no_download_manager=true (http://vecad-dll-ocx.soft32.com/get/file/id/512487?iframe=true&width=420&height=200&no_download_manager=1&s=k4LuKMz3NDGUAK_D9K6Z1w&t=1356510957&ext=.zip&no_download_manager=true)
Links to download LiteCAD:
http://www.kolbasoft.com/download.html (http://www.kolbasoft.com/download.html)
-
Привет товарищ Климкин,
Я пересмотрел коды для LiteCAD API и адоптировал фаел Litecad.cpp работать в Pelles C. Этот проэкт содержит новые фаелы Litecad.c, исправлен Litecad.h и демо. Демо должен успешно сделать образец чертежа.
Моя жена Виктория Викторовна и я поздравляем вас с Новым Годом!
Мы желаем вам всего самого наилучшего в этом 2013 году.
С уважением Давид МакДермот
I reviewed the LiteCAD API Code and adapted the LiteCad.c to work with Pelles C. I also adapted an example for this demo. It's not BCX but you can use this in a Pelles C project.
Happy new year!
-
Happy New Year !!!!
Need LiteCAD.def ?
So here it is.
-
English;
----------
Hello, David.
I congratulate you and your wife Victoria on Christmas!
Thanks for a congratulation both the fast and productive answer.
I too didn't sleep and have had time to rewrite the program in PellesC (VeCAD and LiteCAD).
Now I lead up it to working standards.
Thanks, timovjl
I hope that the subject of the free programming for xxxCAD on plain-C will be interesting not only me.
A little later I will lay out it in a working type for now I spread that is for today.
Important point for those who will want to look at operation of these programs:
1. for VeCAD it is necessary to have VeCAD.dll
2. for LiteCAD it is necessary to have LiteCAD.dll
3. I have shown links to them earlier.
P.S.:
*BAS-->BCX-->*.C-->LCC-->LiteCAD3.exe - work from command-line & from menu.
*.c-->PellesC-->liteCADeditor.exe - work from command-line only, menu will work later.
Russuian (special for David):
-----------------------------------
Здравствуйте, Давид.
Поздравляю Вас и Вашу жену Викторию с Рождеством!
Спасибо за поздравление и быстрый и продуктивный ответ.
Я тоже не бездействовал и успел переписать программу в PellesC (VeCAD и LiteCAD).
Сейчас довожу ее до рабочих кондиций.
Спасибо, timovjl
Я надеюсь, что тема свободного программирования для xxxCAD on plain-C будет интересна не только мне.
Немного погодя выложу ее в рабочем виде , а пока выкладываю, то что есть на сегодняшний день.
Важный момент для тех, кто захочет посмотреть на работу этих программ:
1. для VeCAD необходимо иметь LiteCAD.dll
2. дя LiteCAD необходимо иметь LiteCAD.dll
3. ссылки на них я показал ранее.
-
English:
--------
LiteCAD IDE Editor.
It is the first working variant.
I upload the full project - for improvement.
Many thanks to David (DMac) for its timely help!
The project did in PellesC v.5.00 - it is convenient for me that it is possible to do also WinCE 4.2 and
WinMobile 5.0 programming.
Not all menu items working - some functions simply aren't registered. And it not the most important.
The authoring editor is much more interesting and more important not to repeat, and to create the
additional functions (and interfaces for them).
I think that it and there is a principal mission of this fine tool LiteCAD-API.
Russian:
--------
LiteCAD IDE Editor.
Это первый работающий вариант.
Выкладываю проект целиком - для усовершенствования.
Огромное спасибо Давиду за его своевременную помощь!
Проект делал в PellesC v.5.00 - он для меня удобен тем, что можно делать также WinCE 4.2 и WinMobile 5.0
программы.
Не все пункты меню работающие - некоторые функции просто не прописаны. И это не самое важное.
Гораздо интересней и важнее не повторять авторский редактор, а создать свои дополнительные функции (и
интерфейсы для них).
Я думаю что это и есть главное предназначение этого прекрасного инструмента LiteCAD-API.
-
David, I looked old messages at this forum and has been pleasantly surprised: there are you programmed
Applications for AutoCAD.
In this connection I have a question:
Probably-whether in a Pelles-C to make the program which will address to AutoCAD, to cause and fulfill
Its some functions?
In 2005 - 2007 I did programs for a building geodesy on VBA in AutoCAD, then on MS-VB6.
Read about that that some programmers successfully do programs for AutoCAD on Delphi.
There is tool MS-VC ++ ObjARX, at last is AutoLISP + DCL - but all it "from within" AutoCAD.
And here for Plain-C has found nothing.
Probably you had similar tasks, or you know such links?
-
Sergy,
All the work I did for AutoCAD was in AutoLISP. I havn't used AutoCAD in perhaps 10 years and I know that some things have probably changed since then.
-
In development of the small project:
-----------------------------------
Has added in menu User Utils-> Strelka (new files userutils1.c and userutils1.h)
Thus has a little altered files main.c main.h resource.h main.rc
It while only preparation for the user subroutine by name "Strelka".
But it causes the dialogue with three buttons.
Button BUTTON3 causes reversal to function "New Text Object" from library LiteCAD.dll
There is a window of dialogue and the user can enter a line of the text.
This line then is located in the drawing.
Dialogue "Strelka" and its functions has made in such style which to me managed to be mastered in Pelles-C.
Probably it not the best style of creation of windows and dialogues, but me it is clear more others.
New functions in a file userutils1.c
LRESULT CALLBACK wnd_proc0(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); // #0 [Strelka]
HWND create_wnd0(void); // window #0
void create_wnd_content0(HWND parent);
void register_classes(void); // register all the window classes
Now it is possible to add new windows-dialogues: wnd1, wnd2...
In principal function WinMain (has changed _tWinMain) has added:
// SNK addition: user utils
register_classes();
strcpy(lf.lfFaceName, TEXT("Tahoma"));
lf.lfHeight = -11;
lf.lfWeight = FW_BOLD;
lf.lfQuality = DEFAULT_QUALITY;
h_font = CreateFontIndirect(&lf);
// SNK addition: user utils
create_wnd0(); // create window "Strelka"
ShowWindow(hwnd0, SW_HIDE); // and hide it at start of program
I don't know as to include cursor-separator COkDivider
Lines of type COkDivider:: m_hCurHorz =:: LoadCursor () this OOP
There can be somebody will prompt, as them to transform for Pelles-C ?
-
It is added:
1. A windows divider-resizer (while only vertical), horizontal I can't make, but it and isn't so necessary;
2. The menu "User Utils", a dialogue window and 2 subroutines:
"Text-draw" and "Strelka", the showing some base functions LiteCAD caused and executed in an interactive mode with use of a window "Command-string" (as it is accepted in many CAD-systems). "Strelka" requests from the user of 2 points, on them draws in the drawing a line, on the line ends puts these 2 points and nearest them text labels.
-
I don't know as to include cursor-separator COkDivider
Lines of type COkDivider:: m_hCurHorz =:: LoadCursor () this OOP
There can be somebody will prompt, as them to transform for Pelles-C ?
That is C++, so no luck with Pelles C.
See http://www.catch22.net/tuts/splitter-windows for a way to include a divider/splitter in plain ANSI C.
-
I don't know as to include cursor-separator COkDivider
Lines of type COkDivider:: m_hCurHorz =:: LoadCursor () this OOP
There can be somebody will prompt, as them to transform for Pelles-C ?
That is C++, so no luck with Pelles C.
See http://www.catch22.net/tuts/splitter-windows (http://www.catch22.net/tuts/splitter-windows) for a way to include a divider/splitter in plain ANSI C.
Actually Stephan ... the newest version of Easy Splitter, recommended on the Catch 22 site is in User Contributions on this site.... HERE (http://forum.pellesc.de/index.php?topic=3691.msg13709#msg13709)
-
Thanks for a prompt reply, Stefan.
Thanks for a prompt reply, CommonTater.
I read this pages (and still some other concerning to Pelles-C), but to my great regret have a little understood.
I not the programmer, and the geodesist who tries to use programming for the trade.
I write programs as a monkey: I will look at something and I try to apply to the problems.
Therefore: if somebody corrects a code of my program (so that were loaded and both cursors-dividers worked) I will be very grateful.
And the most interesting would be to alter a code of author LiteCAD for cursors from C ++ in pelles-C.
Once again thanks for attention to this theme.
-
The Easy Split library is very easy to use, you just move the splitter window in your WM_SIZE handler.
Pelles C does not support C++ and not all of C++ can be translated back to ANSI-C ... So you may have to get your hands on a C++ compiler such as MinGW or MSVC++
-
Actually Stephan ... the newest version of Easy Splitter, recommended on the Catch 22 site is in User Contributions on this site.... HERE (http://forum.pellesc.de/index.php?topic=3691.msg13709#msg13709)
The top right hand corner of the Catch22 page allows downloading the old splitter source code and the new easy-splitter source code, so you will get the latest sources on both locations ;)
Sergey have you tried including the easy-splitter?
It is a ready to use extension, where you just use some functions to create and handle the splitter.
If you carefully check the source code, you should be able to implement it.
There is nothing that beats learning things on your own, if someone else does it for you it just doesn't stick as much.
-
Thanks for reply, Stefan.
I have already included a divider in the program and it works.
But it ONLY one vertical divider.
The problem in including also a horizontal divider (as it is made at the author).
I don't understand as well as where competently to connect this second divider.
After all the divider is not so much icon with arrows, how many window Windows.
That is why I ask to look at a source code of my program and to correct it for the second divider.
-
The top right hand corner of the Catch22 page allows downloading the old splitter source code and the new easy-splitter source code, so you will get the latest sources on both locations ;)
Actually no ... The Easy Splitter on Catch22 is version 2.0.0 ... the one here, on the forums is 2.1.2.
There aren't a lot of differences, mostly the keyboard getting focus when you click the splitter and a small fix to the WM_SIZE handler.
-
Has corrected: arrows-dividers, (Thanks, timovjl !!!).
Has added: subroutine UsersUtils --> Strelka
on two points specified by the user draws a line,
draws on its ends of a points and an Text-labels,
then from a point #1 draws an arrow and copies it in 4 new places
and also turns arrows (90 180 270 deg.).
Strelka it yet the subroutine, but only preparation for it.
I on the sly master functions LiteCAD.dll and their interaction with the program, is more exact with the user.
-
With the help timovjl (big to it thanks for helps) has included work of buttons in StatusBar.
For those who doesn't want (can not) to download author's package LiteCAD.
In my project is:
1. The main file LiteCAD.dll (it is packed in RAR archive)
2. Some files of fonts (most necessary).
Thus compiled liteCADeditor2.exe it is possible to start from a folder of the project and to look it in work.
-
I read LiteCAD.chm, I look examples and I include something in the program.
Illustration of the most simple creations and usage of properties of primitives Point, Line, PolyLine, Text in programming-mode.
In right lower to a corner arrows as polylines on a point 1 (a line 1-2), having the own (not by-layer) color are constructed.
In left upper to a corner arrows on a point 2 as the polylines having own (not by-layer) color are constructed.
To the first (initial) arrow the text "Arrow" also is added by the color and the height.
Then an arrow and the text are included in the Block "strelka" and this Block is multiplied around 2nd point (a line 1-2) 4 times with offset and a rotated through 90 degrees.
Creation is saved in format LCD (6 KB) and in format DWG 2005 (198 KB) - experience a difference.
On screenshots:
1. Creation in the self-made program LiteCADEditor2.exe - LiteCAD + SDK
It is visible an inscription of red color "UNREGISTERED LITECAD" is that SDK has a non-free origin.
2. Saved drawing Strelka1.lcd is opened in the authoring editor LiteCAD.exe
The terrible inscription isn't present - the editor is FREE.
3. Drawing Strelka1.lcd is saved as Strelka1.dwg (2005) and opened in AutoCAD.
-
1. Was required to termination Loop in the user function (not LiteCAD) on the ESC key.
Thus the cursor is in the LiteCAD DWG window.
Function requests from the user of pair of points and directly processes them.
For the ESC key VirtKey parameter = 27
Here is how it looks (userutils1.c):
int intKey; // to bipass ESC in loop while()
void CALLBACK KeyDown (HANDLE hWnd, int VirtKey, int Flags, BOOL bCtrl, BOOL bShift )
{
if ( VirtKey == 27 ) { intKey = VirtKey; }
}
void GetStrelka12 (float fArrowScale)
{
... ... ...
// do user-cicle for entering pair-points 1-2
while ( 1 )
{
lcOnEventKeyDown ( KeyDown ); // !!! Invoke CALLBACK-function
if ( intKey == 27 )
{
MessageBox( NULL, TEXT("the key ESCAPE is pressed"), TEXT("Event2"), MB_OK);
break; // terminate loop while()
}
... ... ...
}
}
2. For faster (than from the menu) a call of the LiteCAD functions added two ToolBar panels:
HWND CreateTbarMain ( HWND hWndParent, HINSTANCE hInst );
HWND CreateTbarDraw ( HWND hWndParent, HINSTANCE hInst );
Used toolbar.bmp and draw.bmp from VeCAD
(in LiteCAD source codes these bitmap of a panel unfortunately are absent).
It is necessary to add vertical panels edit.bmp, format.bmp, dims.bmp, tbsnap.bmp,
but while it turns out badly - vertical-splitter ceases to work, there are other ghost effects.
-
Looking for 3d emulation added 2 custom functions:
1st builds Polyline as 3dFace by a point specified by the user, the nearest to it around the points,
the second requires you point inside a triangle of 3 existing points, and then do the points.
It is necessary to fill the holes, which are obtained for the 1st method.
-
My profession is connected to topography and construction geodesy.
Thus computation and representation of volumes between two surfaces provided in the form of TIN, is especially interesting to me.
LiteCAD has only one rather 3-dimensional primitive - a Point.
There is still the object structure of TIN consisting of objects of 3-dimensional edges, but it's not 3dFace, accepted (for example in AutoCAD) as a basic primitive for TIN creation.
From this that I know, TIN is built on 3-dimensional points in the form of triangles, more often by the Delaunay triangulation method. Thus it is accepted to "close" a triangle through duplicating of the first it vertex:1 - 2 - 3-1.
Thus 3dFace is 3dPolyLine from the 4th nodes (Vertex) where the 1st and last node (point) match.
The PolyLine in LiteCAD (as well as in other CAD systems) is the plane primitive by default having Z=0.00 for all nodes, but can have and Z <> 0.00.
Therefore I build in LiteCAD the 3dPolyLine on 3-dimensional points as PolyLine with saving separately Z-coordinates for each node.
For a possible data interchange with other programs working with 3dFace and 3dPolyLine I see only one method: export import through the text file.
Corrected operation of subprogrammes a little:
users Utils-> Draw 3dFaces
Users1-> Draw Surface
Added in the LiteCAD-Editor2 program (menu "Users Utils"-> Users1...):
a)
SDR-Export
These are function for export LiteCAD entities (Point, Line, PolyLine ...) in 2 files:
1. Geodetic tachometer Sokkia (SDR-33 protocol) job-file
2. Other tachometer (for example Lieca) free-format comma-separated data.
b)
Export3dFaces
Import3dFaces
ExportPoints
ImportPoints
These are functions for compatibility with external programs, they write to the file and read from the file PolyLines imitating 3dFace and 3dPoints.
-
There is a program that records waypoints satellite receiver or navigator in a text file.
In this file lines are as follows:
ROVER
TOW 373889.96875000 WN 1700 - GPS time
B 55.65302785 L 37.56813404 H 239.240 - geodetic coordinates
X 2858970.698 Y 2199171.819 Z 5242953.156 - geocentric coordinates
Added to LiteCAD-Editor2 routine "Import Track-GNSS", which selects only the lines beginning with "X "
The screenshot shows the point of the selected file xxxxxxx-coords.txt (at the bottom of this file.)
Added to LiteCAD-Editor2 routine "Import Survey-GNSS", which selects only two lines:
1. beginning with "TOW "
2. beginning with "PntNum "
ROVER
TOW 342634.00 AntennaHight 1.000 - GPS time & AntennaHight
X 2858959.000 Y 2199176.000 Z 5242934.000 - geocentric coordinates
PntNum 2001 EpocCount 10 StartTOW 342624.00000000 StopTOW 342634.00000000 X 2858959.000 Y 2199176.400 Z 5242934.000 dX 0.000 dY 2.600 dZ -1.000 Code ROAD begin
- last string has more info: Number of survey-point, start & stop survey-time, coordinates & base-correction-coordinates, Code & Code-Attribute - all for this surveyed point.
The screenshot shows the point of the selected file xxxxxxx-coords.txt (at the bottom of this file.)
-
For integration LiteCAD & GNSS
Program for Garmin & GlobalSat receivers/navigators build on chipsets SirfStar-II SirfStar-III SirfStar-IV
Platform: Win32, connect-interfaces: RS-232, USB, BlueTootth.
Now tested with navigator Garmin GPSMap-60cx (SirfStar-III) and receiver GlobalSat BU-353-S4 (SirfStar-IV) only.
See attachment.
-
Update of program GNSS-Monitor4.
Now tested with 5 model receiver/navigator.
Example work in archive.
Info-file only Russian.
xxxxxx-Coords.txt -for simple & standallone geodetic works (for example in LiteCAD),
xxxxxx-Binary.txt - for translate to RINEX-file & precise post-processing (for example in Topcon Tools).
-
Some bugs fixed.
In archive also example work with new receiver GlobalSat BU-353-S4
(OFFTOP: I make also version for Linux - see screenshot)
-
Hello sergey
Maybe it will be OFF TOP ;) but:
Would you be kind to attach the source code of your software "GNSS Monitor" or provide a web link to a place where could it (that source code) be downloaded?
Best regards, kielni
-
Not now - work in progress, maybe later.
Now see please more complicated variant: GNSS-Monitor3.
RAW-data Messages MID-28 (0x1C) now adjusted for Receiver ClockBias & ClockDrift.
Aligns the measurement to a whole second, it is important for RTK-meassurement/surveying.
It can produce on the fly RINEX-OBS file (for post-processing for example in Topcon-Tools).
Tested only with receiver GlobalSat BU-353S4 (SirfStar-IV).
On screenshot: 4 windows of the program, Parsing.txt and RINEX Observer.obs files.
-
Update program LiteCAD-Editor2.
Added Toolbars:
Edit
Snap
Dim(ensions).
The screenshot drawing with some types hatches.
There you can see all 5 toolbars:
2 horizontal - at the top and 3 vertical on the left.
Should be added to all the icons of the toolbars tips, but still can not do it.
Link:
http://www.kolbasoft.com/forum/viewtopic.php?f=4&t=348
-
Should be added to all the icons of the toolbars tips, but still can not do it.
function WndProc() case WM_NOTIFY:
if (((LPNMHDR)lParam)->code == TTN_NEEDTEXT) {
//LPTOOLTIPTEXT pTT = (LPTOOLTIPTEXT)lParam;
((LPTOOLTIPTEXT)lParam)->hinst = hInst;
((LPTOOLTIPTEXT)lParam)->lpszText = MAKEINTRESOURCE(((LPTOOLTIPTEXT)lParam)->hdr.idFrom);
}
return 0;
resource.h strintableSTRINGTABLE
BEGIN
IDS_APP_TITLE "LiteCAD-editor2"
IDC_TEST01 "TEST01"
ID_FILE_NEW "New Drawing"
...
END
-
timovjl, Thank you for your attention to my non-professional research.
Add these lines to the program.
resource.h
STRINGTABLE \resource.h(265): warning #2099: Missing type specifier
BEGIN \resource.h(266): error #2001: Syntax error: expected ';' but found 'BEGIN'
IDS_APP_TITLE "LiteCAD-editor2"\resource.h(267): error #2156: Unrecognized declaration
END \resource.h(270): warning #2099: Missing type specifier
Moved STRINGTABLE to file main.rc
---------------------------------
STRINGTABLE
BEGIN
IDS_APP_TITLE "LiteCAD-editor2"
IDC_TEST02 "TEST02"
END
// Added 18.03.2013 by SNK for ToolBars
STRINGTABLE DISCARDABLE
BEGIN
CM_SNAP_ENDPOINT "End-point Snap"
CM_SNAP_MIDPOINT "Mid-point Snap"
CM_SNAP_CENTER "Center Circle Snap"
CM_SNAP_POINT "Point or Vertex Snap"
CM_SNAP_INTER "Intersection Snap"
CM_SNAP_PERPEND "Perpendicular Snap"
CM_SNAP_TANGENT "Tangent Snap"
CM_SNAP_NEAR "Nearest Snap"
CM_SNAP_QUADRANT "Quadrant Snap"
CM_SNAP_NONE "None Snap"
CM_SNAP_DLG "Dialog Snap"
CM_TOOL_POLAR "Polar Snap"
CM_TOOL_GRID"Grid Tool"
END
The program compiles, but Tips do not appear.
Topic suggestions I looked in MSDN and other sources.
Added for each icon in the Toolbar TBSTYLE_TOOLTIPS
TBButton(&tbb[0], TD_SNAP_ENDPOINT, CM_SNAP_ENDPOINT, TBSTATE_WRAP | TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_TOOLTIPS);
TBButton(&tbb[1], TD_SNAP_MIDPOINT, CM_SNAP_MIDPOINT, TBSTATE_WRAP | TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_TOOLTIPS);
But it did not help.
He created from one of the tutorials feature WndProc_OnNotify
LRESULT WndProc_OnNotify(HWND hWnd, int idFrom, NMHDR* pnmhdr)
{
LPTOOLTIPTEXT lpToolTipText;
LPTBNOTIFY lptbn;
int nItem;
static CHAR szBuf[128];
switch(pnmhdr->code)
{
case TTN_NEEDTEXT:
lpToolTipText = (LPTOOLTIPTEXT)pnmhdr;
LoadString(hInst, lpToolTipText->hdr.idFrom, szBuf, sizeof(szBuf));
lpToolTipText->lpszText = szBuf;
break;
case TBN_GETBUTTONINFO:
lptbn = (LPTBNOTIFY)pnmhdr;
nItem = lptbn->iItem;
lptbn->tbButton.iBitmap = tbb[nItem].iBitmap;
lptbn->tbButton.idCommand = tbb[nItem].idCommand;
lptbn->tbButton.fsState = tbb[nItem].fsState;
lptbn->tbButton.fsStyle = tbb[nItem].fsStyle;
lptbn->tbButton.dwData = tbb[nItem].dwData;
lptbn->tbButton.iString = tbb[nItem].iString;
return ((nItem < sizeof(tbb)/sizeof(tbb[0]))? TRUE : FALSE);
break;
case TBN_QUERYDELETE:
lptbn = (LPTBNOTIFY)pnmhdr;
nItem = lptbn->iItem;
return (nItem == 0)? FALSE : TRUE;
break;
case TBN_QUERYINSERT:
lptbn = (LPTBNOTIFY)pnmhdr;
nItem = lptbn->iItem;
return (nItem == 0)? FALSE : TRUE;
break;
case TBN_TOOLBARCHANGE:
SendMessage(hwndTb, TB_AUTOSIZE, 0L, 0L);
return TRUE;
break;
default:
break;
}
return FALSE;
}
It also does not take ToolTips.
I do not know what else to do.
-
Sorry, stringtable goes to main.rc of course.
I just made those changes to your LiteCADEditor2 and it works in my tests.
Only problem was those duplicate id's.
Remember to add TBSTYLE_TOOLTIPS to window style when you create ToolBar window.
See example.
-
I attached that code to older message.
-
I looked at your code, and add this to my code.
It works fine.
Again you helped me. Thank you.
-
Thanks to timovjl ToolTips in all ToolBars are now working.
-
Added some geodetic subroutines, see archive inside.
Now can construct Road-profile.
Works only with LiteCAD.dll - see add. archive.