Can't make a RGBA->RGB-Blit (or maybe I just can't create a RGBA-Surface)

Hello

I want to make a blit from a rgba-surface to a rgb-surface (using the
pixel-alpha of the first surface) but it doesn’t seem to work.
Instead it works as if i was using a rgb-Surface (without alpha) - from
what I know from the documentation.

Here is a bit of code:

stroke = SDL_CreateRGBSurface(SDL_HWSURFACE, IMG_WIDTH, IMG_HEIGHT,
IMG_BPP,
screen->format->Rmask, screen->format->Gmask,
screen->format->Bmask, screen->format->Amask);

SDL_SetAlpha(stroke, SDL_SRCALPHA | SDL_RLEACCEL, 100);

scrTMP = SDL_CreateRGBSurface(SDL_HWSURFACE, IMG_WIDTH, IMG_HEIGHT, IMG_BPP,
screen->format->Rmask, screen->format->Gmask,
screen->format->Bmask, screen->format->Amask);

SDL_Rect rct; rct.x=10; rct.y=20; rct.h=49; rct.w=30;
SDL_FillRect(scrTMP, &rct, SDL_MapRGB(scrTMP->format, 0, 0, 0xff));
rct.x=25; rct.y=30; rct.h=49; rct.w=100;
//SDL_SetAlpha(scrTMP, SDL_SRCALPHA | SDL_RLEACCEL, 255);

SDL_FillRect(stroke, NULL, SDL_MapRGBA(stroke->format, 0, 0xff, 0, 

0));//gesamten Stroke f?llen(gr?n)
SDL_FillRect(stroke, &rct, SDL_MapRGBA(stroke->format, 0xff, 0, 0,
255));//rechteck in Stroke f?llen (rot)
SDL_BlitSurface(stroke, NULL, scrTMP, NULL);

It does blit the whole “stroke”-surface with the opacity specified
inSetAlpa, and not with the alpha I specify in the FillRect.

The only reason I see, is that my “stroke”-surface is considered as rgb
and not as rgba. However, I don’t see any way to tell the computer that
Ii want an rgba-surface.

Can anyone help me here?

Okay, I’ve found my error.

I shouldn’t have used the screens RGBA-Masks to create a surface that I
want to be transparent.
Well, it somehow makes sense, since the screen isn’t transparent.