|
Anders Molin wrote:
I haven't seen any TAPI drivers that supports TAPI 3.0 yet...
In theory all existing TAPI 2.x TSPI should be useable for TAPI 3. TAPI 3 is basically a COM wrapper around TAPI 2. All the TAPI 2 drivers I've used have supported TAPI 3 - even those that were developed by TAPI 3 was completed.
Michael
"I've died for a living in the movies and tv.
But the hardest thing I'll ever do is watch my leading ladies,
Kiss some other guy while I'm bandaging my knee."
-- The Unknown Stuntman
|
|
|
|
|
Michael P Butler wrote:
All the TAPI 2 drivers I've used have supported TAPI 3
Nice, I did not know that, I thought that they have to be writtten for TAPI 3.
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
I vould definitely go for VC. You cannot use TAPI older than version 3.0 from VB.
If you want to use a modem to make the calls the the voice mail system, make sure there are some (good) TAPI drivers for that modem.
Make sure the TAPI drivers supports the lineGenerateDigits() function, because you'r gonna use that function to send DTMF tones to the voicemail system...
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
Thanks for the help everyone! I guess the hard part is learning what functions are available in TAPI and whether or not my drivers support it. Does anyone know of a good reference book or website that would list the functions that TAPI provides?
|
|
|
|
|
IS there such a thing as ( CString *p , SizeOfArray)) when I'm passing in a CString array? I havent seeen CSTring pointers so I was wondering....
Appreciate your help,
ns
|
|
|
|
|
perhaps you should use
CStringArray m_pszMyString
m_pszMyString.Add("1");
m_pszMyString.Add("2");
m_pszMyString.Add("3");
if(m_pszMyString.GetAt(0) == "1")
{
..
bla
}
hope it helps
for people who think life is like a comedy
for people who feel is a tragedy
Whapole
|
|
|
|
|
helps! GetAt() was is new to me, so great to know it.
Appreciate your help,
ns
|
|
|
|
|
I posted about this about 3 months ago er so.. i was hopin someone might have seen this by now?
arg.. i have been using .net since it shipped and now i have added a new dialog.. i right click on the dialog and say 'Add Class'.. specify the class name and set it to be derived from CDialog (instead of CHtmlDialog).. and click ok..
and it doesn't make the .h or .cpp or add the class to my project!!!
i have tried deleting the source safe files and setting all of the files to not be read only.. i have tried adding a dummy dialog and adding a class for it, and it will NOT make a frickin' class for any dialog at all now..
if i try to add a message handler for a button i have tried to make a class for it gives me a frickin' debug error in the 'script' since all of there dialogs are apparently html driven now..
arg.. i cant deal with making every dialog manually instead of having .net make the classes for me, its just too much of a pain in the arse..
is anyone familiar with this error, or can anyone give me an expectation of what to expect if i try to get technical support from microsoft?! i have spent the last 6 months developing this frickin' software and now i cant add any classes to any dialogs?! i thought this was perhaps a screwup in the .rc or the recourse.h, but i am not familiar with these files, and they seem to look the same for the new dialogs as they have for every other dialog ive ever made in .net
arg..
i cant make any classes from any dialogs.. plz give me advice as to what my next plan of action should be (besides manually adding these classes..).. arg..
i was told to delete the .ncb and .aps files by a fellow CP user, but it didnt help.. was wonderin if anyone else had a suggestion?
thanks!
still a newb.. cut me some slack :P
-dz
|
|
|
|
|
I haven't seen this problem in VC++ 7.0... but there is a utility to downgrade your VC++ 7.0 project to VC++ 6.0 on CodeGuru.
Sounds like you might be ready to abandon 7.0... I have.
|
|
|
|
|
I need to be able to draw a line in specific color, regardless of background color, then remove the line restoring the original colors that were overwritten.
The drawing modes, R2_XORPEN, R2_MERGEPEN, etc., appear to be to dependent on the background color. R2_COPYPEN always draws the correct color but then destroys the previous colors written to the pixels. This does not allow me to remove the line, restoring the previous colors for the pixels.
Any suggestions would be appreciated.
Eldon Zacek
Czech-Mate Enterprises, LLC
|
|
|
|
|
Typically, one renders from a model and it is with regards to the model that the line is added/removed; the scene is just re-rendered. If you what you have to work with is just the image itself, then you'll have to just save the image data and restore it later. Or perhaps draw into an overlay layer that doesn't disturb the base image. Are you using plain ol' GDI or something fancier?
|
|
|
|
|
Drawing in normal mode with a pen of a specific color and then later setting the SetROP2() mode (I think that's what its called) to R2_XORPEN and using the same color, erases it.
This is not perfect but works for most cases. If you have drawn a bunch of lines or objects different colors on top of your line then XORing with the background will XOR it with the overlaid colors thus never restoring the original background.
|
|
|
|
|
Actually, that would simply replace the colored line with a black line (all the 1's go to 0's).
|
|
|
|
|
I disagree. Unless, you know the order of what was drawn on top of your line and then redraw it in reverse order using XOR it will not restore the original background.
Say your original background is black and you draw a yellow rect and then follow with a magenta rect where part of the magenta rect draws over a portion of the yellow rect. If you SetROP2(R2_XORPEN) and redraw/erase the yellow rect you will restore the black background for all locations except where the magenta rect was drawn since it will XOR with what's onscreen and that part is magenta. Then when you SetROP2(R2_XORPEN) and redraw/erase the magenta rect it will try to restore a yellow background for the parts that overlap and black on all non-overlapping pixels. Thus, you will be left with a different color than the black background on all locations where the pixels overlapped.
However, if you SetROP2(R2_XORPEN) and draw/erase the magenta rect first it will restore the overlapped pixels to yellow (and the rest to black) then when you follow with SetROP2(R2_XORPEN) on the yellow rect, your original black background will be restored with no garbage pixels.
|
|
|
|
|
Yup. That was the point. In ageement we are. If you have a picture of Natalie Portman and you draw lines all over it in normal mode, information is being lost. There is no way to recover it using SetROP2. You'll just have to save image data in order to remove the lines later. In effect, you are creating a model from which the scene is re-rendered, even if that model is as simple as the base image and line undo information.
|
|
|
|
|
I want to populate my listctrl using insertItem via: The arra i have is the list of all the values of the columns in the control for one row
void AddItem( AN ARRAY IS TO BE PASSED IN)
for (int i =0, i< 10; i++)
{ list2.InsertItem (how to?)
}
How do I pass in this array? How do I code the insertItem?
Appreciate your help,
ns
|
|
|
|
|
what is it an array of? is it a dynamic array, or a C-style array?
for a C-style array:
void AddItem(ArrayObjectType *pArray, int iArraySize)
{
for (int i=0;i<iArraySize;i++)
{
ArrayObjectType *p = pArray[i];
...
}
}
-c
All you have to do is tell the people they are being attacked, and denounce the opposition for lack of patriotism and exposing the country to danger.
-- Herman Goering, on how to control the public
|
|
|
|
|
Its probably all CStrings. THe array was supposedly of a fixed size. What if it were a vector? Would i still pass in the pointer?
I think I have a handle on how to insert the items row by row, so I'll hold off on posting about that. Hopefully I wont need to..
Appreciate your help,
ns
|
|
|
|
|
if it's a vector, you should pass a reference (not a pointer) to the vector. then you'll iterate through the vector, either with an iterator or with myVec[x] or myVec.at(x).
-c
All you have to do is tell the people they are being attacked, and denounce the opposition for lack of patriotism and exposing the country to danger.
-- Herman Goering, on how to control the public
|
|
|
|
|
[ Modified article: Corrected call to InsertItem() ]
void addItems
(CStringArray arrayOfStrings)
{
for (long nIndex=0; (nIndex < arrayOfStrings.GetLength()); nIndex++) {
list2.InsertItem (nIndex, arrayOfStrings.GetAt (nIndex);
}
}
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
I have added a CEdit control and CSpin control to my dialog in the resource editor. So I attached the CSpin control to my CEdit control to inc and dec the value in the edit!
But now, I have the problem, that the spin is working the wrong way! When I click the up button of the spin, the value in the edit will dec, and when I click the down button the value will inc! That's not what I am want! How can I change this????
--
Nice greets, Daniel.
|
|
|
|
|
The "wrong way" is the default way for spin controls.
you will have to use a SetRange32( int nLower, int nUpper );
Set nLower to the MAXIMUN
set nUpper to the MINIMUM
|
|
|
|
|
Thanks!
--
Nice greets, Daniel.
|
|
|
|
|
Hi Daniel,
use CSpinButtonCtrl::SetRange(MIN_VALUE, MAX_VALUE) - this adjusts in which direction you have to press the arrows in order to de- or increase the value in the buddy CEdit box.
Gero
|
|
|
|
|
Hi Daniel,
You can either give the ranges other way round or you can override CWnd's OnNotify method
BOOL YourClass::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) <br />
{<br />
LPNMHDR pnmh = (LPNMHDR) lParam; <br />
<br />
if(pnmh->code == UDN_DELTAPOS )<br />
{<br />
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pnmh;<br />
if(pNMUpDown->iDelta < 0)<br />
{<br />
}<br />
else<br />
{<br />
}<br />
}<br />
return true;<br />
}
-ve value of delta would suggest decrement and +ve would suggest increment
you can reverse the ways if you like.
Hope that would be of your help.
Nilesh
|
|
|
|